2011-12-30 87 views
8

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

ProxyPass /folder http://localhost:28083 
ProxyPassReverse /folder http://localhost:28083 
ProxyPassReverseCookiePath /folder http://localhost:28083 

它工作正常,会议除外。为每个子文件夹创建一个新的会话。

因此,虽然我留在一个文件夹中,但会话仍然存在,但只要我跳到另一个文件夹中,就会创建一个新会话。

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

回答

1

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

+0

请注意,ProxyPassReverseCookiePath参数与其他ProxyPass参数进行了切换。 – cdauth 2015-12-17 23:18:19

4

作为召唤者已经提到,ProxyPassReverseCookiePath的第二个参数应该是一个路径。请注意,参数相比其他指令切换,所以在你的情况将是:

ProxyPassReverseCookiePath//folder 

(从技术上说,这不应该是必要的,它的工作,从路径/饼干也可在/folder/中,但它可能会导致它们干扰您在同一个域上运行的其他Web应用程序的Cookie。)

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

ProxyPassReverseCookieDomain localhost example.com 

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