我使用 nginx 作为 tomcat 设置的反向代理,大多数情况下一切正常,我遇到的唯一问题是每个对 http 地址的请求都会导致创建一个新的 JSESSION ID(这不会发生在 http 中),这里是 NGINX 配置的相关部分:
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_redirect off;
proxy_connect_timeout 240;
proxy_send_timeout 240;
proxy_read_timeout 240;
proxy_pass http://localhost:8080;
}
知道为什么我不断生成新的 jsessionids 吗?
将以下代码片段添加到您的配置文件中,然后重试:
在我的环境中,此行为是由 Tomcat 引起的,或者 servlet 因在代理时更改根目录而期望使用不同的 cookie 路径:
proxy_cookie_path
通过帮助设置路径: