首页 > 其他 > 详细

nginx之proxy_pass的session丢失

时间:2015-01-29 02:07:59      阅读:311      评论:0      收藏:0      [点我收藏+]

背景:

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之proxy_pass的session丢失

原文:http://snv.iteye.com/blog/2180945

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!