mod_proxy: липкая сессия не работает - PullRequest
3 голосов
/ 21 февраля 2012

У меня есть два сервера 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>

1 Ответ

5 голосов
/ 22 февраля 2012

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

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

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

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

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

...