Bir sonraki Apache'nin reverse-proxy
sorunu için yardım mı arıyorsunuz ?
- localhost'ta Apache 2.4 var: 80 (aaaa: 80)
- 3 farklı web uygulamasına sahip
- biri localhost üzerinde çalışır: 8000 (aaaa: 8000)
- diğer ikisi ise diğer makinelerde - yani xxxx: 8000 ve yyyy: 8000
- Apache'de bazı statik içeriklere sahip (birkaç tane html sayfası): 80 's
DocumentRoot
Gereksinimler :
appX
(xxxx: 8000'de) http: // aaaa / appX / tarafından erişilmelidirappY
(yyyy: 8000'de ) http: // aaaa / appY /- Mevcut statik sayfalar (apache'den
DocumentRoot
) genellikle apache tarafından sunulmalıdır. defapp
- diğer her şey aaaa'ya bildirilmelidir: 8000
Bu kolay yapılandırmak olduğunu appX
ve appY
sonraki gibi:
ProxyPass /appX/ http://x.x.x.x:8000/
ProxyPassReverse /appX/ http://x.x.x.x:8000/
ProxyPass /appY/ http://y.y.y.y:8000/
ProxyPassReverse /appY/ http://y.y.y.y:8000/
Yukarıdakiler tamamdır. Yani erişim denendiğinde adresinden http://localhost/appX/
bir yanıt aldı .appX
x.x.x.x:8000
Ama bir sorun var default destinaton
For everything other
. Eklemeye çalıştığınızda:
ProxyPass / http://127.0.0.1:8000/
ProxyPassReverse / http://127.0.0.1:8000/
Umarım gibi işe yaramaz.
Yukarıdaki ile apache'ye söylemek isteyin - başka bir şey olmayan /appX/
ya da /appY/
gönderilen 0:8000
.
Ve bu, maalesef işler değil defapp
üzerinde çalışan neyi 0:8000
taleplerini aldık appX
ve appY
ve çok statik sayfalar için istekleri.
Tanımların sırasını değiştirme,
#define first the "default destination"
ProxyPass / http://127.0.0.1:8000/
ProxyPassReverse / http://127.0.0.1:8000/
#and after the appX and appY
ProxyPass /appX/ http://x.x.x.x:8000/
ProxyPassReverse /appX/ http://x.x.x.x:8000/
ProxyPass /appY/ http://y.y.y.y:8000/
ProxyPassReverse /appY/ http://y.y.y.y:8000/
ya da çalışmıyor. Her şey proxy'ye verildi localhost:8000
.
Öyleyse, soru şudur: Apache'yi yukarıda tanımlanan gereksinimleri yerine getirmek için ters bir vekil olarak ayarlamak mümkün mü?