2010-04-17 16 views
10

Bağlantı noktası 80'de trafiği Tomcat aracılığıyla barındırılan bir web uygulamasına yeniden yönlendirmek için ProxyPass kullanırken, çerezlerin çalışması için bazı sorunlar yaşıyorum.Tomcat çerezleri, ProxyPass VirtualHost'ım üzerinden çalışmayan VirtualHost

Çerezleri etkinleştirmeye yönelik motivasyonum, URL'lere eklenen "jsessionid =" parametresinden kurtulmaktır.

Web uygulamam için context.xml sayfamdaki cookie'leri META-INF içinde etkinleştirdim.
Web uygulamasına http://url:8080/webapp aracılığıyla eriştiğimde, beklendiği gibi çalışır, jsessionid parametresi URL'de görünmez, bunun yerine bir çerezde depolanır.

Web siteme bir apache2 sanal sunucusu üzerinden erişirken, çerezler artık "jsessionid" URL'lere eklendiğinden çalışmaz gibi görünmüyor. Bu sorunu nasıl çözebilirim?

 
<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> 

DÜZENLEME:

İşte benim VHost yapılandırma var çerez aslında kuruluyor. Sorun şu ki, çerezin "Yol:/webapp" içerdiği yönünde.

cevap

18

Bunu çözdüm.

VHost yapılandırmasına ekleyin:

 
ProxyPassReverseCookiePath /webapp/
+0

Müthiş bulmak. Teşekkür ederim. – sjas