【问题标题】:Tomcat cookies not working via my ProxyPass VirtualHostTomcat cookie 无法通过我的 ProxyPass VirtualHost 工作
【发布时间】:2011-02-09 04:59:32
【问题描述】:

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

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

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

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

这是我的虚拟主机配置:

服务器名称 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”。

【问题讨论】:

    标签: apache tomcat cookies virtualhost mod-proxy


    【解决方案1】:

    我想通了。

    将此添加到 VHost 配置中:

    ProxyPassReverseCookiePath /webapp /

    【讨论】:

    • 很棒的发现。谢谢。
    【解决方案2】:

    感谢您的回答,我的完整工作配置如下:

    <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>
    

    【讨论】:

      猜你喜欢
      • 2018-12-10
      • 2019-04-09
      • 2019-04-13
      • 2011-02-06
      • 2014-02-23
      • 1970-01-01
      • 2017-07-12
      • 2014-07-17
      • 2014-12-25
      相关资源
      最近更新 更多