2011-12-30 22 views
8

Por lo tanto, estoy usando Apache para representar una carpeta específica en una instancia de Glassfish. Las reglas en mi conf son:Apache ProxyPass y Sesiones

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

Funciona bien, a excepción de las sesiones. Para cada subcarpeta se crea una nueva sesión.

Entonces, mientras permanezco en una carpeta, la sesión persiste, pero tan pronto como salto a otra carpeta, se hace una nueva sesión.

¿Cómo puedo tener una sesión para todas las subcarpetas?

Respuesta

1

El segundo parámetro de ProxyPassReverseCookiePath debe ser solo una ruta, no una URL completa. Apache no puede corregir correctamente la ruta cocida en la cookie con el uso no válido actual.

+0

Tenga en cuenta que los parámetros de 'ProxyPassReverseCookiePath' se cambian en comparación con los otros parámetros' ProxyPass'. – cdauth

4

Como ya se ha mencionado, el segundo parámetro de ProxyPassReverseCookiePath debe ser una ruta. Tenga en cuenta que los parámetros se cambian en comparación con las demás directivas, por lo que en su caso sería:

ProxyPassReverseCookiePath//folder 

(Técnicamente, esto no debería ser necesaria para que funcione, como las cookies de la trayectoria / también están disponibles en /folder/, pero podría causar que interfieran con las cookies de otras aplicaciones web que está ejecutando en el mismo dominio.)

Además, es posible que desee transformar el dominio de cookies también (a menos que acceda a su aplicación solo a través de http://localhost/folder/):

ProxyPassReverseCookieDomain localhost example.com 

example.com es el dominio sobre el que se accede a su aplicación web.