`
小网客
  • 浏览: 1216812 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

nginx之proxy_pass的session丢失

    博客分类:
  • J2ee
 
阅读更多

背景:

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/ /;

0
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics