Apache - ProxyPassReverse 使用同一主机的多个条目

Apache - ProxyPassReverse 使用同一主机的多个条目

我们有这样的 apache 负载平衡配置:

<Proxy balancer://acluster>
BalancerMember ajp://10.10.10.1:8123 route=r1
BalancerMember ajp://10.10.10.2:8123 route=r2
</Proxy>
ProxyPass / balancer://acluster

#ProxyPassReverse / balancer://acluster
ProxyPassReverse / ajp://10.10.10.1:8123
ProxyPassReverse / ajp://10.10.10.2:8123

我想知道,使用这多个 ProxyPassReverse 条目而不是使用注释掉的那行的目的是什么或有什么效果。谢谢

答案1

TL;DR:只需使用ProxyPassReverse / balancer://acluster

这些单独的线是毫无意义的ProxyPassReverse,因为Apache 模块 mod_proxy_balancer给出示例配置参考:ProxyPassReversebalancer://

<Proxy "balancer://mycluster">
    BalancerMember "http://192.168.1.50:80"
    BalancerMember "http://192.168.1.51:80"
</Proxy>
ProxyPass        "/test" "balancer://mycluster"
ProxyPassReverse "/test" "balancer://mycluster"

文档ProxyPassReverse指示未指定多个ProxyPassReverse指令会发生什么情况。在最坏的情况下,对平衡器成员的请求可能会有Host另一个平衡器成员的重写标头。这是否会导致问题取决于后端服务器的配置。

ProxyPassReverse此外,如果当前带有单独行的配置有效,那么它将不是一个易于管理的解决方案,因为每次添加时都需要对配置进行额外的更新BalancerMember

相关内容