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