Tomcat6使用Servlet 2.3规范。它不支持通过代码或Tomcat配置更改cookie路径。
我从Apache方面通过一些mod_proxy
指令使它工作。该ProxyPassReverseCookiePath
指令正是我想要的。它使用错误的路径从Tomcat获取cookie,并将其重写为正确的路径。
<VirtualHost *:*>
Servername example.com
ProxyRequests Off
ProxyPass / http://localhost:8080/example.com/
ProxyPassReverseCookiePath /example.com /
ProxyPassReverseCookieDomain localhost example.com
</VirtualHost>