Apache-2.2

伺服器發回自己的 IP 而不是 Proxy 的 IP

  • February 13, 2014

我目前正在嘗試添加一個新的專用應用程序伺服器。我有一個負載均衡器,用於調度流量:

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>

引用自:https://serverfault.com/questions/575241