2010-04-17 19 views
10

Tengo algunos problemas para hacer que las cookies funcionen cuando utilizo un ProxyPass para redirigir el tráfico en el puerto 80 a una aplicación web alojada a través de Tomcat.Las cookies de Tomcat no funcionan a través de ProxyPass VirtualHost

Mi motivación para habilitar las cookies es deshacerse del parámetro "jsessionid =" que se agrega a las URL.

He habilitado las cookies en mi archivo context.xml en META-INF/para mi aplicación web.
Cuando accedo a la aplicación web a través del http://url:8080/webapp funciona como se esperaba, el parámetro jsessionid no está visible en la URL, sino que se almacena en una cookie.

Al acceder a mi sitio web a través de un host virtual apache2, las cookies no parecen funcionar porque ahora se está agregando "jsessionid" a las URL. ¿Cómo puedo resolver este problema?

Aquí está mi configuración VHost:

 
<VirtualHost *:80> 
     ServerName somedomain.no 
     ServerAlias www.somedomain.no 

     <Proxy *> 
       Order deny,allow 
       Allow from all 
     </Proxy> 

     ProxyPreserveHost Off 
     ProxyPass/http://localhost:8080/webapp/ 
     ProxyPassReverse/http://localhost:8080/webapp/ 

     ErrorLog /var/log/apache2/somedomain.no.error.log 
     CustomLog /var/log/apache2/somedomain.no.access.log combined 
</VirtualHost> 

EDIT: La cookie se está creando en realidad. Supongo que el problema es que la cookie contiene el "Path:/webapp".

Respuesta

18

Me di cuenta.

añadir esto a la configuración VHost:

 
ProxyPassReverseCookiePath /webapp/
+0

hallazgo impresionante. Gracias. – sjas

Cuestiones relacionadas