我使用 apache Web 服务器作为 apache 后面的两个 tomcat 实例的负载平衡器。当第一个请求发送到节点 A,而来自同一客户端的第二个请求发送到节点 B 时,我无法访问节点 A 内的会话变量。这是显而易见的。我在互联网上冲浪,发现启用粘性会话会有帮助。但是所有在 apache 中启用粘性会话的教程看起来都很混乱。有没有简单的分步教程?请帮忙。
评论中的代码片段:
ProxyPass /balancer-manager !
ProxyPass /balancer://mycluster/ stickysession=JSESSIONID
ProxyPassReverse /balancer://mycluster/
<Proxy balancer://mycluster>;
BalancerMember ajp://localhost:9001/ route=NodeA1000 retry=10
BalancerMember ajp://localhost:9002/ route=NodeB1000 retry=10
</Proxy>
这对我有用......
必须使用 ProxySet StickySession=JSESSIONID 在平衡器配置中进行设置,而不是在 ProxyPass 指令中使用 StickySession=JSESSIONID:
<Proxy balancer://mybalancer>
BalancerMember ajp://server1:8009 route=tomcat1
BalancerMember ajp://server2:8009 route=tomcat2
ProxySet lbmethod=bytraffic
ProxySet stickysession=JSESSIONID
</Proxy>
ProxyPass /myapp/ mybalancer://myapp/
It was 不工作对我来说,当我在 ProxyPass 中使用它时,如下所示:
ProxyPass /myapp/ mybalancer://myapp/ stickysession=JSESSIONID
这应该添加到 apache 文档中,因为解决起来非常痛苦。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)