Apache Tomcat cookies无法通过ProxyPass虚拟主机运行

Apache Tomcat cookies无法通过ProxyPass虚拟主机运行,apache,tomcat,cookies,virtualhost,mod-proxy,Apache,Tomcat,Cookies,Virtualhost,Mod Proxy,在使用ProxyPass将端口80上的流量重定向到通过Tomcat托管的web应用程序时,我遇到了一些让Cookie正常工作的问题 我启用cookie的动机是去掉附加到URL的“jsessionid=”参数 我已经在META-INF/中的context.xml中为我的web应用程序启用了cookies。 当我通过Web应用程序访问它时,jsessionid参数在URL中不可见,而是存储在cookie中 当通过apache2虚拟主机访问我的网站时,cookies似乎不起作用,因为现在“jsessi

在使用ProxyPass将端口80上的流量重定向到通过Tomcat托管的web应用程序时,我遇到了一些让Cookie正常工作的问题

我启用cookie的动机是去掉附加到URL的“jsessionid=”参数

我已经在META-INF/中的context.xml中为我的web应用程序启用了cookies。
当我通过Web应用程序访问它时,jsessionid参数在URL中不可见,而是存储在cookie中

当通过apache2虚拟主机访问我的网站时,cookies似乎不起作用,因为现在“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> ProxyPassReverseCookiePath /webapp / ServerName somedomain.no ServerAlias www.somedomain.no 命令拒绝,允许 通融 代理主机关闭 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组合 编辑:实际上正在设置cookie。我猜问题在于cookie中包含“路径:/webapp”。

我猜出来了

将此添加到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> ProxyPassReverseCookiePath /webapp / ProxyPassReverseCookiePath/webapp/
感谢您的回答,我的完整工作配置如下所示:

<VirtualHost *:80>
    ServerName extener_url.xxx.co.zm
    ProxyRequests Off
    ProxyPass / http://localhost:8080/app/
    ProxyPassReverse / http://localhost:8080/app/
    ProxyPassReverseCookiePath /app /

    ServerAdmin webmaster@localhost
    <Proxy *>
            Order deny,allow
            Allow from all  
    </Proxy>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost>

ServerName extender_url.xxx.co.zm
代理请求关闭
ProxyPass/http://localhost:8080/app/
ProxyPassReverse/http://localhost:8080/app/
ProxyPassReverseCookiePath/app/
服务器管理员webmaster@localhost
命令拒绝,允许
通融
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合

Awesome find。非常感谢。