使用ProxyHTMLURLMap时丢失JSESSIONID

我已经在Apache前端和多个Tomcat后端之间build立了一个反向代理。 以下代码块包含ProxyHTMLURLMap参数,以便可以重写HTML以除去Tomcat上下文path。 使用这个设置,login到我的应用程序后,初始的JSESSIONID设置正确,但是当浏览到任何其他页面时,这个JSESSIONID会丢失,另一个由应用程序设置。

我应该提到,初始login指向包含当前上下文path(即https://app.domain.com/context/home )的URL,但是当导航到另一个页面时,该上下文path不存在于URL中(即https://app.domain.com/page2 )。

<Proxy balancer://happcluster> BalancerMember ajp://happ01.hscom:8009 route=worker1 loadfactor=10 timeout=15 retry=5 BalancerMember ajp://happ02.hscom:8009 route=worker2 loadfactor=10 timeout=15 retry=5 BalancerMember ajp://happ03.hscom:8009 route=worker3 loadfactor=5 timeout=15 retry=5 BalancerMember ajp://happ04.hscom:8009 route=worker4 loadfactor=5 timeout=15 retry=5 BalancerMember ajp://happ05.hscom: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> 

有没有人遇到类似的情况?

所以我想清楚是什么问题。 我不得不扭转下面的参数

 ProxyPassReverseCookiePath /context / 

现在我不丢失JSESSIONID。