我正在尝试在Apache中启用粘性会话,但是它不起作用。以下是我所做的更改。我想念什么吗?
我在访问日志中没有看到任何错误,但是一个用户的请求仍在转到另一台服务器。
步骤1:在server1和server2的负载均衡器的httpd.conf中添加以下内容
<Proxy balancer://marsBalancer>
BalancerMember http://server1fullname:8080 route=server1
BalancerMember http://server2fullname:8080 route=server2
ProxySet lbmethod=bytraffic
ProxySet stickysession=JSESSIONID
</Proxy>
ProxyPass /marsWAR/ balancer://marsBalancer/marsWAR/
步骤2:在server.xml中更新如下
a)server1中的server.xml
<Engine name="Catalina" defaultHost="localhost" jvmRoute="server1">
b)server2中的server.xml
<Engine name="Catalina" defaultHost="localhost" jvmRoute="server2">
最佳答案
尝试从ProxyPass指令中删除marsWAR
部分:
ProxyPass /marsWAR/ balancer://marsBalancer/
如果仍然不起作用,请尝试通过添加以下代码直接向ProxyPass指令指定会话
<id>
:ProxyPass /marsWAR/ balancer://marsBalancer/ stickysession=JSESSIONID