2010-04-17 8 views
10

Sto riscontrando alcuni problemi nel far funzionare i cookie quando si utilizza un ProxyPass per reindirizzare il traffico sulla porta 80 a un'applicazione Web ospitata tramite Tomcat.I cookie di Tomcat non funzionano tramite il mio ProxyPass VirtualHost

La mia motivazione per l'attivazione dei cookie è quella di eliminare il parametro "jsessionid =" che viene aggiunto agli URL.

Ho abilitato i cookie nel mio context.xml in META-INF/per la mia applicazione web.
Quando accedo all'applicazione web tramite http://url:8080/webapp funziona come previsto, il parametro jsessionid non è visibile nell'URL, ma è memorizzato in un cookie.

Quando si accede al mio sito web tramite un virtualhost apache2 i cookie non sembrano funzionare perché ora "jsessionid" viene aggiunto agli URL. Come posso risolvere questo problema?

Ecco la mia configurazione 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: Il cookie è effettivamente impostato. Sto indovinando che il problema è che il cookie contiene "Percorso:/webapp".

risposta

18

L'ho capito.

Aggiungere questo alla configurazione VHost:

 
ProxyPassReverseCookiePath /webapp/
+0

Incredibile trovare. Grazie. – sjas

Problemi correlati