Tomcat cookie 无法通过我的 ProxyPass VirtualHost 工作
当使用 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 中。我该如何解决这个问题?
这是我的 VHost 配置:
<VirtualHost *:80> ServerName somedomain.no ServerAlias www.somedomain.no <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPreserveHost Off ProxyPass / http://localhost:8080/webapp/ ProxyPassReverse / http://localhost:8080/webapp/ ErrorLog /var/log/apache2/somedomain.no.error.log CustomLog /var/log/apache2/somedomain.no.access.log combined </VirtualHost>
编辑:实际上正在设置 cookie。我猜测问题在于 cookie 包含“Path: /webapp”。
I'm having some issues with getting cookies to work when using a ProxyPass to redirect traffic on port 80 to a web-application hosted via Tomcat.
My motivation for enabling cookies is to get rid of the "jsessionid=" parameter that is appended to the URLs.
I've enabled cookies in my context.xml in META-INF/ for my web application.
When I access the webapplication via http://url:8080/webapp it works as expected, the jsessionid parameter is not visible in the URL, instead it's stored in a cookie.
When accessing my website via an apache2 virtualhost the cookies doesn't seem to work because now "jsessionid" is being appended to the URLs. How can I solve this issue?
Here's my VHost configuration:
<VirtualHost *:80> ServerName somedomain.no ServerAlias www.somedomain.no <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPreserveHost Off ProxyPass / http://localhost:8080/webapp/ ProxyPassReverse / http://localhost:8080/webapp/ ErrorLog /var/log/apache2/somedomain.no.error.log CustomLog /var/log/apache2/somedomain.no.access.log combined </VirtualHost>
EDIT: The cookie is actually being set. I am guessing that the problem is that the cookie contains the "Path: /webapp".
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我想通了。
将其添加到 VHost 配置中:
I figured it out.
Add this to the VHost configuration:
感谢您的回答,我的完整工作配置如下:
Thanks for the answer, my complete working configuration looks like this: