2011-12-30 22 views
8

Vì vậy, tôi đang sử dụng Apache để proxy một thư mục cụ thể cho một cá thể Glassfish. Các quy tắc trong conf của tôi là:Apache ProxyPass và Sessions

ProxyPass /folder http://localhost:28083 
ProxyPassReverse /folder http://localhost:28083 
ProxyPassReverseCookiePath /folder http://localhost:28083 

Nó hoạt động tốt, ngoại trừ các phiên. Đối với mỗi thư mục con, một phiên mới được tạo.

Vì vậy, trong khi tôi ở trong một thư mục, phiên vẫn tiếp diễn, nhưng ngay sau khi tôi chuyển sang một thư mục khác, phiên mới sẽ được thực hiện.

Tôi làm cách nào để có một phiên cho tất cả các thư mục con?

Trả lời

1

Thông số thứ 2 của ProxyPassReverseCookiePath chỉ là một đường dẫn chứ không phải là URL đầy đủ. Apache không thể sửa chữa đúng cách đường dẫn được đưa vào cookie với việc sử dụng không hợp lệ hiện tại.

+0

Lưu ý rằng các tham số của 'ProxyPassReverseCookiePath' được chuyển đổi so với các tham số' ProxyPass' khác. – cdauth

4

Vì giao ước đã được đề cập, tham số thứ hai là ProxyPassReverseCookiePath phải là đường dẫn. Hãy nhận biết rằng các thông số được bật so với các chỉ thị khác, vì vậy trong trường hợp của bạn nó sẽ là:

ProxyPassReverseCookiePath//folder 

(Về mặt kỹ thuật, đây không phải là cần thiết cho nó để làm việc, như các cookie từ con đường / cũng có sẵn trong /folder/, nhưng nó có thể khiến chúng can thiệp vào cookie của các ứng dụng web khác mà bạn đang chạy trên cùng một tên miền.)

Ngoài ra, bạn cũng có thể muốn chuyển đổi tên miền cookie (trừ khi bạn truy cập ứng dụng của mình) chỉ thông qua http://localhost/folder/):

ProxyPassReverseCookieDomain localhost example.com 

example.com là miền mà ứng dụng web của bạn được truy cập.