Bir sonraki Apache'nin reverse-proxysorunu 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 appXve appYsonraki 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ı .appXx.x.x.x:8000
Ama bir sorun var default destinatonFor 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:8000taleplerini aldık appXve appYve ç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ü?