我开发了一个jsp网站,使用tomcat作为后端,使用apache作为frontend重定向mod_proxy。
首先我的配置。
阿帕奇:
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
SSLProxyEngine on
ProxyPass / https://realdomain.tld:8443/proj1/
ProxyPassReverse / https://realdomain.tld:8443/proj1/
<Location />
Order allow,deny
Allow from all
</Location>
当我重新加载我的jsp网页时,每次我获得一个新的会话ID。在没有apache和mod_proxy的localhost上开发时,一切正常,我保持相同的会话ID。
对于我的webapp,在此期间保持相同的会话非常重要。
任何想法如何告诉apache保持我的会话。我想apache必须将cookie重定向到tomcat吗?但是怎么......
答案 0 :(得分:1)
每次更改代理中的上下文路径(/ - &gt; proj1)时,都会创建一大堆要解决的问题。您的直接cookie问题可以通过ProxyPassReverseCookiePath指令解决。然后我怀疑你会找到下一个要解决的问题。您最好将应用程序重新部署为ROOT Web应用程序,以便您的ProxyPass指令为ProxyPass / https://realdomain.tld:8443/
顺便说一句,看起来你代表的是Tomcat的https连接器。如果您不小心,如果httpd通过http接收请求,则会为自己创建安全问题,通过https将它们代理到Tomcat,Tomcat将这些请求视为通过安全通道接收。