Apache-2.2
伺服器發回自己的 IP 而不是 Proxy 的 IP
我目前正在嘗試添加一個新的專用應用程序伺服器。我有一個負載均衡器,用於調度流量:
LB——apache2.conf
<Location /> ProxyPass balancer://my-cluster/ </Location> <Proxy balancer://my-cluster/> BalancerMember http://APP.SERVER.1.IP:80/ BalancerMember http://APP.SERVER.2.IP:80/ </Proxy>
我有一個指向這個負載均衡器的 DNS。但是當我嘗試到達
http://www.my-domain.com/foo
時,響應來自http://APP.SERVER.2.IP/foo
而不是http://www.my-domain.com/foo
。這是一個問題,因為它導致我的應用程序崩潰(它是一個移動應用程序)。
我錯過了什麼?
謝謝 !
我認為您缺少
ProxyPassReverse
指令:<Location /> ProxyPass balancer://my-cluster/ ProxyPassReverse balancer://my-cluster/ </Location>
該指令允許 Apache 調整 HTTP 重定向響應的 Location、Content-Location 和 URI 標頭中的 URL。
怎麼樣:
<Location /> ProxyPass balancer://my-cluster/ ProxyPassReverse balancer://my-cluster/ </Location>