我有两台 JBoss AS 7 服务器,我正在使用 mod_proxy
进行负载平衡。 .除了粘性 session 之外,几乎所有东西都可以正常工作。我在 cookie 中的 session ID 不在 URL 中,如 JSESSIONID
.
这是我的 apache 配置:
NameVirtualHost *:80
<VirtualHost *:80>
ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=Off
ProxyPassReverse / balancer://tutcluster/
ProxyPassReverse / http://server1:8080/
ProxyPassReverse / http://server2:8080/
ProxyPreserveHost On
ProxyRequests Off
<Location / >
Order deny,allow
Allow from All
</Location>
<Proxy balancer://mycluster/>
BalancerMember http://server1:8080 route=jbossWeb1 retry=60
BalancerMember http://server2:8080 route=jbossWeb2 retry=60
</Proxy>
</VirtualHost>
最佳答案
好的,我找到了。有两个问题首先我忘记设置jvmRoute
JBoss 配置中的属性。所以我设置:
<system-properties>
<property name="jvmRoute" value="nodeX"/>
</system-properties>
并将工作人员配置更改为:
BalancerMember http://server1:8080 route=nodeX retry=60
第二个问题是
nofailover=Off
.这可能导致静态内容的某些部分是从一台服务器加载的,而其中的某些部分是从另一台服务器加载的。
关于apache - mod_proxy : sticky session does not work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9378625/