2012-02-21 79 views
3

我有两台JBoss AS 7服务器,我正在使用mod_proxy进行负载平衡。几乎一切工作都很好,除了粘滞的会议。我有一个cookie中的会话标识不在URL中,为JSESSIONIDmod_proxy:粘性会话不起作用

这里是我的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> 

回答

5

OK,我发现它。有两个问题首先我忘记在JBoss配置中设置jvmRoute属性。所以我设置:

<system-properties> 
    <property name="jvmRoute" value="nodeX"/> 
</system-properties> 

,改变了职工的配置是:

BalancerMember http://server1:8080 route=nodeX retry=60 

第二个问题是nofailover=Off。这可能会导致静态内容的某些部分从一台服务器加载,而另一部分则从另一台服务器加载。