2012-02-21 4 views
3

У меня есть два сервера JBoss AS 7, и я выполняю балансировку нагрузки с использованием mod_proxy. Почти все работает отлично, кроме липких сессий. У меня есть идентификатор сеанса в cookie, а не в URL-адресе: JSESSIONID.mod_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

ОК, я нашел его. Были две проблемы. Сначала я забыл установить свойство jvmRoute в конфигурации JBoss. Поэтому я:

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

и изменил конфигурацию рабочих на:

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

Вторая проблема была nofailover=Off. Вероятно, это вызвало то, что некоторые части статического контента были загружены с одного сервера, а некоторые его части - с другого.

Смежные вопросы