Diğer sunuculara nasıl yönlendirilir? (apache ve nginx)


1

80 numaralı bağlantı noktasında iki site için çalışan bir Apache sunucum var. example.com ve başka bir alanım var example2.com. Bir kullanıcı ziyaret ettiğinde example.com, Bu dosyaları sunmasını istiyorum (yani sanal bir ana bilgisayar), ancak biri etki alanına erişmeye çalıştığında example2.com (aynı IP Adresinde), ziyaretçinin farklı bir bağlantı noktasında olduğunu bilmeden 90 numaralı bağlantı noktasındaki başka bir IP adresine yönlendirmesini istiyorum.

Bunu nasıl başarabilirim?

<VirtualHost example.com:80>   
 DocumentRoot {rootdir}  
 ServerName example.com  
 ServerAlias example.com 
</VirtualHost>   
<VirtualHost *:80>   
  NoProxy .example.com  
  ProxyPreserveHost On  
  ProxyRequests Off  
  ServerName *  
  ProxyPass / http://server2:90  
  ProxyPassReverse / http://server2:90  
</VirtualHost>  

Bu işe yaramaz ve almaya çalışır example.com proxy ile de kimse nedenini biliyor mu?

Yanıtlar:


4

Kullanıcılarınızı yönlendirmek istediğinizden emin misiniz? Anladığım kadarıyla, example2.com sunucusunun başka bir yere proxy sunucusu olmasını istiyorsunuz. Apache’yi bir proxy olarak mod_proxy'ye . Ayrıca bu proxy'yi belirli bir VirtualHost için tanımlayabilirsiniz, bkz. Apache VirtualHost Örnekleri .

Örneğin böyle bir şey çalışması gerekir:

NameVirtualHost *:80
<VirtualHost *:80>
    ServerName example.com
<VirtualHost>
<VirtualHost *:80>
    ServerName example2.com
    ProxyPass / http://server2:90/
    ProxyPassReverse / http://server2:90/
    ProxyPreserveHost On  
    ProxyRequests Off
<VirtualHost>

ayrıca mod_proxy'nin yüklendiğinden emin olun

LoadModule proxy_module modules/mod_proxy.so

Diyelim ki 2 farklı sunucu var, bir apache (kendim için) ve bir nginx (başka bir site için). İstekler apache sunucusundan gelir ve bir sitenin apache tarafından diğeri nginx tarafından verilmesi gerekir. Ancak vekil işe yarayacak. Yardım için teşekkürler! :)
Christiaan

Henüz işe yaramadı ve ben düzenledi. Lütfen başka bir göz atar mısın lütfen?
Christiaan

"Çalışmıyor" diyorsunuz ama ne olduğuna dair hiçbir ayrıntı vermeyin. Bu çok yardımcı değil. Lütfen ne olduğu, neden beklendiği gibi olmadığı ve gerekirse sunucu günlüğü girişleriyle ilgili açıklama yapın. Anlamaya çalışmadığınız bazı kod parçalarını bir araya getirdiğiniz anlaşılıyor. Lütfen ayrıntılar için Apache kullanım kılavuzuna bakınız. ProxyPass diyor If the first argument ends with a trailing /, the second argument should also end with a trailing / and vice versa. Orijinal cevabımı çalışması gereken bir konfigürasyonla değiştirdim.
Calimo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.