Reverse-Proxy

Apache - ProxyPassReverse 具有相同主機的多個條目

  • July 22, 2021

我們有這樣的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 條目而不是使用被註釋掉的那一行的目的或效果是什麼。謝謝

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

這些單獨ProxyPassReverse的行沒有任何意義,因為Apache 模組 mod_proxy_balancer提供了範例配置ProxyPassReverse引用了balancer://

<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.

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