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


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/ /;配置就搞定/晕


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM