nginx中proxy_pass到tomcat的session丢失

        好多事不本身去作确实不知道,随便玩一玩就出了好多问题,虽然都不大,但却都是必需要解决的。今天早上遇见的问题就是nginx中proxy_pass到tomcat的session丢失了。nginx

        以前也没测试过使用nginx反向代理后登录的状况,结果今天就凑巧了。经调试发现是request请求变成了多个,而且session每次也都不一致,感受就像是每次都在用不一样的浏览器访问,得出结论:确定是session丢失了!浏览器

        显而易见的就是问题确定出在了nginx上面,由于以前单独使用tomcat都是没有问题的。tomcat

        以前的配置以下:cookie

    

     upstream backend {session

             #ip_hash;
             server localhost:8080;
    }
    server {
        listen    80;
        server_name  my;
        location / {

             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 
             proxy_buffering on;测试

         
             proxy_pass http://backend/xyan/; 
        }代理

 

修改后以下:调试

    

 upstream backend {server

             #ip_hash;
             server localhost:8080;
    }
    server {
        listen    80;
        server_name  my;
        location / {

             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 
             proxy_buffering on;ip

         
             proxy_pass http://backend/xyan/; 

            proxy_cookie_path /xyan/ /;
             proxy_set_header   Cookie $http_cookie;  
        }

其实也就是每次都保留cookie。       

相关文章
相关标签/搜索