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