在使用 ProxyPass 将端口 80 上的流量重定向到通过 Tomcat 托管的 Web 应用程序时,我在让 cookie 工作时遇到了一些问题。
我启用 cookie 的动机是摆脱附加到 URL 的“jsessionid=”参数。
我在 META-INF/ 的 context.xml 中为我的 Web 应用程序启用了 cookie。
当我通过http://url:8080/webapp访问 web 应用程序时,它按预期工作,jsessionid 参数在 URL 中不可见,而是存储在 cookie 中。
通过 apache2 虚拟主机访问我的网站时,cookie 似乎不起作用,因为现在将“jsessionid”附加到 URL。我该如何解决这个问题?
这是我的虚拟主机配置:
<虚拟主机 *:80> 服务器名称 somedomain.no ServerAlias www.somedomain.no <代理 *> 订单拒绝,允许 允许所有人 </代理> ProxyPreserveHost 关闭 ProxyPass / http://localhost:8080/webapp/ ProxyPassReverse / http://localhost:8080/webapp/ 错误日志 /var/log/apache2/somedomain.no.error.log CustomLog /var/log/apache2/somedomain.no.access.log 结合 </虚拟主机>
编辑:实际上正在设置 cookie。我猜问题是cookie包含“路径:/ webapp”。