У нас есть четыре Tomcats с балансировкой нагрузки с помощью Apache mod_proxy (mod_ajp). mod_proxy настроен следующим образом, lbmethod = byrequests и sticky_session включены. Но иногда мы замечали, что apache не поддерживает липкую сессию. то есть Apache отправляет запрос, который должен быть получен Tomcat 1, в Tomcat 2, в результате чего пользователь теряет аутентификацию. Будет ли mod_proxy всегда соблюдать липкую сессию или нет, если нет, то каковы сценарии, она не будет учитывать настройку липкой сессии.
ОБНОВИТЬ:
Конфигурация прокси в httpd.conf
<Proxy balancer://app-lb>
BalancerMember ajp://10.**.**.**:5009/app min=1 max=300 route=r1 loadfactor=1 timeout=300 KeepAlive=On
BalancerMember ajp://10.**.**.**:5010/app min=1 max=300 route=r2 loadfactor=1 timeout=300 KeepAlive=On
BalancerMember ajp://10.**.**.**:5011/app min=1 max=300 route=r3 loadfactor=1 timeout=300 KeepAlive=On
BalancerMember ajp://10.**.**.**:5012/app min=1 max=300 route=r4 loadfactor=1 timeout=300 KeepAlive=On
ProxySet lbmethod=byrequests
</Proxy>
ProxyPass /app balancer://app-lb stickysession=JSESSIONID
Конфигурация коннектора в server.xml
<Connector port="5011" protocol="org.apache.coyote.ajp.AjpNioProtocol" keepAliveTimeout="30000" connectionTimeout="30000" redirectPort="8443" maxPostSize="10485760"/>