服务器发回自己的 IP,而不是代理的 IP

服务器发回自己的 IP,而不是代理的 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

这是一个问题,因为它导致我的应用程序崩溃(它是一个移动应用程序)。

我错过了什么?

谢谢 !

答案1

我认为你错过了ProxyPassReverse指令:

<Location />
  ProxyPass balancer://my-cluster/
  ProxyPassReverse balancer://my-cluster/
</Location>

该指令允许 Apache 调整 HTTP 重定向响应中 Location、Content-Location 和 URI 标头中的 URL。

答案2

怎么样:

<Location />
  ProxyPass balancer://my-cluster/
  ProxyPassReverse balancer://my-cluster/
</Location>

相关内容