Apache ProxyPass和Sessions

cas*_*rmc 8 apache session mod-proxy glassfish-3

所以我使用Apache将特定文件夹代理到Glassfish实例.我的conf中的规则是:

ProxyPass /folder http://localhost:28083
ProxyPassReverse /folder http://localhost:28083
ProxyPassReverseCookiePath /folder http://localhost:28083
Run Code Online (Sandbox Code Playgroud)

它的工作正常,除了会话.对于每个子文件夹,都会创建一个新会话.

因此,当我留在一个文件夹中时,会话仍然存在,但是一旦我跳转到另一个文件夹,就会建立一个新的会话.

如何为所有子文件夹创建一个会话?

cda*_*uth 5

正如 covener 已经提到的, 的第二个参数ProxyPassReverseCookiePath应该是路径。请注意,与其他指令相比,参数是切换的,因此在您的情况下它将是:

ProxyPassReverseCookiePath / /folder
Run Code Online (Sandbox Code Playgroud)

(从技术上讲,这并不是它工作所必需的,因为路径中的 cookie/也可以在 中使用/folder/,但它可能会导致它们干扰您在同一域上运行的其他 Web 应用程序的 cookie。)

此外,您可能还想转换 cookie 域(除非您仅通过 访问您的应用程序http://localhost/folder/):

ProxyPassReverseCookieDomain localhost example.com
Run Code Online (Sandbox Code Playgroud)

example.com是访问您的 Web 应用程序的域。


cov*_*ner 1

ProxyPassReverseCookiePath 的第二个参数应该只是一个路径,而不是完整的 URL。Apache 无法正确修复当前无效使用情况下烘焙到 cookie 中的路径。