2011-12-30 88 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應用程序訪問的域。