Perdendo JSESSIONID ao usar ProxyHTMLURLMap

1

Eu configurei um proxy reverso entre um front-end do Apache e vários back-ends do Tomcat. O bloco de código abaixo inclui o parâmetro ProxyHTMLURLMap para que o HTML possa ser reescrito para remover o caminho do contexto do Tomcat. Com esta configuração em vigor, após o login em meu aplicativo, um JSESSIONID inicial é definido corretamente, mas ao navegar para qualquer outra página, este JSESSIONID é perdido e outro é definido pelo aplicativo.

Devo mencionar que o login inicial direciona para um URL que inclui o caminho do contexto atual (ou seja, link ), mas Ao navegar para outra página, esse caminho de contexto não está presente na URL (ou seja, link ).

<Proxy balancer://happcluster>
BalancerMember ajp://happ01.h.s.com:8009 route=worker1 loadfactor=10 timeout=15 retry=5
BalancerMember ajp://happ02.h.s.com:8009 route=worker2 loadfactor=10 timeout=15 retry=5
BalancerMember ajp://happ03.h.s.com:8009 route=worker3 loadfactor=5 timeout=15 retry=5
BalancerMember ajp://happ04.h.s.com:8009 route=worker4 loadfactor=5 timeout=15 retry=5
BalancerMember ajp://happ05.h.s.com:8009 route=worker5 loadfactor=5 timeout=15 retry=5
ProxySet lbmethod=bytraffic
ProxySet stickysession=JSESSIONID
</Proxy>

ProxyPass       /context   balancer://happcluster/context
ProxyPass       /       balancer://happcluster/context/

<Location /context/>
# Rewrite HTTP headers and HTML/CSS links for everything else
ProxyPassReverse /
ProxyPassReverseCookieDomain / app.domain.com
ProxyPassReverseCookiePath / /context
ProxyHTMLURLMap /context/ /
# Be prepared to rewrite the HTML/CSS files as they come back
# from Tomcat
SetOutputFilter INFLATE;proxy-html;DEFLATE
</Location>

Alguém já se deparou com uma situação semelhante?

    
por Matthew Schmitt 17.10.2012 / 23:38

1 resposta

1

Então eu descobri qual era o problema. Eu tive que inverter o seguinte parâmetro

ProxyPassReverseCookiePath /context /

Agora não estou perdendo JSESSIONID.

    
por 18.10.2012 / 01:18