2012-02-21 73 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。這可能會導致靜態內容的某些部分從一臺服務器加載,而另一部分則從另一臺服務器加載。