Ứng dụng web của tôi đang chạy trên Tomcat tại http://localhost:8080/example.com/
nhưng đang được đảo ngược proxy từ Apache đang phục vụ http://example.com/
trên cổng 80. Ứng dụng web của tôi xem tiêu đề request.getHeader("x-forwarded-host")
để biết nó nằm sau một proxy ngược. Khi nó phát hiện điều này (động) nó xây dựng các URL mà không có đường dẫn servlet trên chúng.Cách đặt đúng đường dẫn cookie JSESSIONID đằng sau proxy ngược
Tính năng này phù hợp với mọi thứ ngoại trừ cookie JSESSIONID. Nó được thiết lập với một đường dẫn của /example.com
thay vì /
khi nó được truy cập thông qua proxy ngược lại. Tôi không thể hiểu làm thế nào tôi có thể có mã của tôi nói với Tomcat để ghi đè lên đường dẫn cho cookie đó khi có một tiêu đề x-forwarded-host
theo yêu cầu.
Tôi đã thử tự cài đặt cookie JSESSIONID từ ứng dụng web, nhưng điều đó chỉ dẫn đến hai tiêu đề Set-Cookie, chỉ một trong số đó là chính xác.