2010-04-17 22 views
10

Tôi gặp một số vấn đề khi nhận cookie hoạt động khi sử dụng ProxyPass để chuyển hướng lưu lượng truy cập trên cổng 80 đến ứng dụng web được lưu trữ qua Tomcat.Cookie Tomcat không hoạt động thông qua ProxyPass VirtualHost của tôi

Động lực của tôi để bật cookie là loại bỏ thông số "jsessionid =" được thêm vào URL.

Tôi đã bật cookie trong context.xml của mình trong META-INF/cho ứng dụng web của tôi.
Khi tôi truy cập ứng dụng web qua http://url:8080/webapp, nó hoạt động như mong đợi, tham số jsessionid không hiển thị trong URL, thay vào đó nó được lưu trữ trong cookie.

Khi truy cập trang web của tôi qua máy chủ ảo apache2, cookie dường như không hoạt động vì hiện tại "jsessionid" đang được thêm vào URL. Làm thế nào tôi có thể giải quyết vấn đề này?

Dưới đây là cấu hình vhost của tôi:

 
<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 là thực sự được thiết lập. Tôi đoán rằng vấn đề là cookie chứa "Path:/webapp".

Trả lời

18

Tôi đã tìm ra.

Thêm này để cấu hình vhost:

 
ProxyPassReverseCookiePath /webapp/
+0

tạo ảnh vui nhộn tìm. Cảm ơn bạn. – sjas

Các vấn đề liên quan