一尘不染

Tomcat cookie无法通过我的ProxyPass VirtualHost工作

tomcat

使用ProxyPass将端口80上的流量重定向到通过Tomcat托管的Web应用程序时,使cookie工作时遇到一些问题。

我启用cookie的动机是摆脱URL后面附加的“ jsessionid =”参数。

我已经为我的Web应用程序在META-INF /的context.xml中启用了cookie。
当我通过http:// url:8080 / webapp访问Web
应用程序时,它可以按预期运行,但jsessionid参数在URL中不可见,而是存储在cookie中。

当通过apache2虚拟主机访问我的网站时,cookie似乎不起作用,因为现在将“ jsessionid”附加到了URL上。我该如何解决这个问题?

这是我的VHost配置:

<VirtualHost *:80>
        ServerName somedomain.no
        ServerAlias www.somedomain.no

        <代理*>
                拒绝订单,允许
                全部允许
        </ Proxy>

        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合并
</ VirtualHost>

编辑:cookie实际被设置。我猜问题是cookie包含“路径:/ webapp”。


阅读 231

收藏
2020-06-16

共1个答案

一尘不染

我想到了。

将此添加到VHost配置:

ProxyPassReverseCookiePath / webapp /
2020-06-16