背景:
nginx下基于多域名同ip同端口的配置中tomcat中session丢失
描述:
http://www.linkrmb.com 对应的部署应用中为http://ip:9008/linkrmb具体的nginx配置如下:
server {
listen 80;
server_name www.linkrmb.com;
location / {
add_header From www.linkrmb.com;
proxy_pass http://localhost:9008/linkrmb/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Cookie $http_cookie;
client_max_body_size 1000m;
}
}
此时由于cookie存储的位置不是基于/那么在第二次访问的时候会从新创建session,因此session中的信息丢失
解决方式:
修改cookie的路径
server {
listen 80;
server_name www.linkrmb.com;
location / {
add_header From www.linkrmb.com;
proxy_pass http://localhost:9008/linkrmb/;
proxy_cookie_path /linkrmb/ /;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Cookie $http_cookie;
client_max_body_size 1000m;
}
}
重点为:proxy_cookie_path /linkrmb/ /;
本文详细介绍了如何在使用Nginx进行多域名同IP同端口配置时,解决Tomcat中Session丢失的问题,通过修改cookie的路径设置来实现Session信息的连续性。
3万+

被折叠的 条评论
为什么被折叠?



