2010-04-17 17 views
10

Mam pewne problemy z uzyskaniem plików cookie do pracy, gdy używam ProxyPass do przekierowania ruchu na porcie 80 do aplikacji WWW hostowanej przez Tomcat.Ciasteczka Tomcat nie działają przez mój ProxyPass VirtualHost

Moja motywacja do włączania ciasteczek polega na pozbyciu się parametru "jsessionid =", który jest dołączany do adresów URL.

Mam włączone pliki cookie w moim pliku context.xml w META-INF/dla mojej aplikacji internetowej.
Po uzyskaniu dostępu do aplikacji przez http://url:8080/webapp działa zgodnie z oczekiwaniami, parametr jsessionid nie jest widoczny w adresie URL, zamiast tego jest przechowywany w pliku cookie.

Podczas uzyskiwania dostępu do mojej witryny za pośrednictwem wirtualnego hosta apache2 pliki cookie nie działają, ponieważ teraz do adresów URL dołączany jest "jsessionid". Jak mogę rozwiązać ten problem?

Oto moja konfiguracja 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: Cookie jest rzeczywiście ustawiona. Zgaduję, że problem polega na tym, że plik cookie zawiera "Path:/webapp".

Odpowiedz

18

Wymyśliłem to.

Dodaj to do konfiguracji vhosta:

 
ProxyPassReverseCookiePath /webapp/
+0

Niesamowite znalezisko. Dziękuję Ci. – sjas

Powiązane problemy