您的位置:首页 > 运维架构 > 反向代理

nginx反向代理(proxy_pass)tomcat的过程中,session失效的问题解决

2016-08-23 17:31 579 查看
   Nginx反向代理tomcat,很是方便,但是也有些细节的问题需要注意;今天遇到了这样一个问题,tomcat中路径“host/web1”,nginx中直接“host/”代理,这时候session就无法正常进行了。

    

1
2
3
4
5
6
7
8
9
location / {

            
proxy_pass   http:
//192
.168.1.12:11080
/v1/
;

   
 
    
 
            
proxy_set_header   Host    $host;

            
proxy_set_header   Remote_Addr    $remote_addr;

            
proxy_set_header   X-Real-IP    $remote_addr;

            
proxy_set_header   X-Forwarded-For    $proxy_add_x_forwarded_for;

        
}


而后检查是由于cookies path问题导致,阅读官方资料中显示proxy_cookie_path,遂调整

1
2
3
4
5
6
7
8
9
location / {

            
proxy_pass   http:
//192
.168.1.12:11080
/v1/
;

            
proxy_cookie_path 
/v1/
 
/;

   
 
            
proxy_set_header   Host    $host;

            
proxy_set_header   Remote_Addr    $remote_addr;

            
proxy_set_header   X-Real-IP    $remote_addr;

            
proxy_set_header   X-Forwarded-For    $proxy_add_x_forwarded_for;

        
}


测试一切正常。

一开始以为是程序的问题,但是在本机测试都是OK,本机与线上的环境只差一个代理。

花了3-4小时,就一段
proxy_cookie_path 
/v1/
 
/;配置就搞定/晕
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  session tomcat nginx server