Şahsen bir IP adresinin arkasında birden fazla sunucu sunarken apache'de ters proxy kullanmayı seviyorum. Birkaç yıl önce bunun üzerine bir makale yazdım.
Birden fazla web sunucunuz olması gereken zamanlar olabilir, ancak size yalnızca bir Genel IP Adresi verilmiştir. Karşılaştığınız sorun, birden çok etki alanınızın aynı IP adresini çözmesini sağlamak ancak farklı bir sunucuya işaret etmek istemeniz. Bu Apache ile çok yapılabilir. Özel bulutumda bir 192.168.1.2 adresine sahip bir ağ geçidi sunucusu yapılandırdım. Yerel adreslere sahip birkaç web sunucum var; Örneğin 192.168.1.10 ve 192.168.1.11.
Gateway sunucuma Apache ve mod_proxy dosyalarını yüklüyorum. Bu tamamlandıktan sonra, etki alanını iletmek için sanal ana bilgisayarları ayarlayabilirim.
<VirtualHost *:80>
DocumentRoot /var/www/example.org
ServerName *.example.org
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPreserveHost on
ProxyPass / http://192.168.1.10/
ProxyPassReverse / http://192.168.1.10
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/example.com
ServerName *.example.com
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPreserveHost on
ProxyPass / http://192.168.1.11/
ProxyPassReverse / http://192.168.1.11/
</VirtualHost>
Apache'yi yeniden başlatın ve yönlendiricinizi 192.168.1.2 yerel adrese gelen bağlantıları kabul edecek şekilde yapılandırın. DocumentRoot'u aynı konuma (yani / var / www) işaret etmiş olsam da, genellikle SSL'yi zorlayabileceğim her site için .htaccess dosyalarım var (80.443'ü belirli etki alanı adlarına yönlendirme).
Bu rotadaki güzel şey, aynı IP Adresine sahip birden fazla HTTPS sunucusuna hizmet verebilmenizdir. Tek sorun Internet Explorer'ın 443 numaralı VirtualHost bağlantı noktasını veya adlandırılmış ana bilgisayarı tanımıyor olması ve bir sertifika hatası almanızdır. Ancak, Safari, Firefox ve Chrome, proxy olan etki alanı için ayrı ayrı sertifikaları tanır.