2011-12-30 5 views
8

그래서 Apache를 사용하여 특정 폴더를 Glassfish 인스턴스에 프록시 처리합니다. 내 conf의 규칙은 다음과 같습니다.Apache ProxyPass 및 세션

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

세션을 제외하고는 정상적으로 작동합니다. 모든 하위 폴더마다 새 세션이 만들어집니다.

그래서 한 폴더에 머 무르지 만 세션은 지속되지만 다른 폴더로 건너 뛰면 새 세션이 만들어집니다.

어떻게 모든 하위 폴더에 대해 하나의 세션을 가질 수 있습니까?

답변

1

ProxyPassReverseCookiePath의 두 번째 매개 변수는 전체 URL이 아닌 경로 여야합니다. 아파치는 현재 잘못된 사용법으로 쿠키에 구운 경로를 제대로 고칠 수 없습니다.

+0

'ProxyPassReverseCookiePath'의 매개 변수가 다른 'ProxyPass' 매개 변수와 비교하여 전환된다는 점에 유의하십시오. – cdauth

4

이미 언급 한 바와 같이, ProxyPassReverseCookiePath의 두 번째 매개 변수는 경로 여야합니다. 매개 변수가 다른 지침에 비해 전환 알고, 그래서 귀하의 경우에는 다음과 같습니다

ProxyPassReverseCookiePath//folder 

(작동하는 경로 / 쿠키도 가능 기술적으로는,이, 필요는 없습니다 /folder/에 있지만, 동일한 도메인에서 실행중인 다른 웹 응용 프로그램의 쿠키를 방해 할 수 있습니다.)

또한 쿠키 도메인을 변환하려는 경우가 있습니다 http://localhost/folder/을 통해서만) :

ProxyPassReverseCookieDomain localhost example.com 

example.com은 웹 응용 프로그램이 액세스되는 도메인입니다.