mod_proxy: липкая сессия не работает

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

person mrzasa    schedule 21.02.2012    source источник


Ответы (1)


Хорошо, я нашел это. Было две проблемы. Во-первых, я забыл установить свойство jvmRoute в конфигурации JBoss. Итак, я установил:

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

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

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

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

person mrzasa    schedule 22.02.2012