我在 Apache 2.4.6 (CentOS) 中设置了 LoadBalancer,除了一件事,它运行良好。
当用户打开Apache服务器的别名时,当点击网站上的某个地方时,它会随时将用户重定向到另一台服务器,这对我不利。我想以这种方式设置Apache:
如果有人打开页面(并且 Apache 从一台服务器加载网页),请留在这里,如果他/她点击网站上的某个位置,则不会重定向到另一台服务器。
如何以这种方式配置 Apache?
当前配置如下:
<Proxy balancer://mycluster>
BalancerMember https://server1:443
BalancerMember https://server2:443
Require all granted
ProxySet lbmethod=bytraffic
</Proxy>
<Location /balancer-manager>
SetHandler balancer-manager
Require host example.org
</Location>
ProxyPass /balancer-manager !
ProxyPass / balancer://mycluster/
我也尝试了此配置,但仍无法按预期工作:
ProxyPass "/test" "balancer://mycluster" stickysession=JSESSIONID|jsessionid scolonpathdelim=On
<Proxy "balancer://mycluster">
BalancerMember "https://server1:443" route=node1
BalancerMember "https://server2:443" route=node2
Require all granted
</Proxy>
<Location /balancer-manager>
SetHandler balancer-manager
Require host example.org
</Location>
ProxyPass /balancer-manager !
ProxyPass / balancer://mycluster/
听起来您的后端没有设置
jsessionid
cookie?如果您的后端本身没有设置 cookie ,文档建议从以下示例开始:(注意明确的
Header add Set-Cookie
.)