Nginx session丟失問題處理解決方法
在用nginx的反向代理tomcat的路徑中,可能會出現session丟失問題。每傳送一次請求 JESSIONID 都會發生改變,說明上一次形成的session丟失,從而建立新的session。
第一種情況:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 |
server{
listen 80;
server_name
charset utf-8;
location /{
proxy_redirect off;
proxy_pass
proxy_set_header Host $host;
proxy_set_header Referer $http_referer;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
access_log logs/tomcat_access.log;
} |
由於當前對的nginx只是監聽一個埠,不設定路徑,所有一般不會出現session丟失的問題。
第二種情況:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 |
server{
listen 80;
server_name
root/opt/tomcat-jhyx/webapps/jhyx/;
charset utf-8;
location /{
proxy_pass
proxy_set_header Host $host;
proxy_set_header Referer $http_referer;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
access_log logs/tomcat_access.log;
} |
這種情況,指定了tomcat的資料夾,不僅僅是一個埠監聽,會導致每次請求都會發生變化,導致session丟失。
第三種情況:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 |
server{
listen 80;
server_name
root/opt/tomcat-jhyx/webapps/jhyx/;
charset utf-8;
location /{
proxy_redirect off;
proxy_pass
proxy_cookie_path/jhyx//;//設定cookie路徑,從而不導致每次發生請求發生變化。
proxy_cookie_path/jhyx/;
proxy_set_header Host $host;
proxy_set_header Referer $http_referer;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
access_log logs/tomcat_access.log;
} |
這時候,發現你的問題依然沒有解決,這時候你在想,我明明已經設定cookie路徑了,怎麼還不行呢,那是因為你請求的時候沒有傳送cookie。
第四種情況:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 |
server{
listen 80;
server_name
root/opt/tomcat-jhyx/webapps/jhyx/;
charset utf-8;
location /{
proxy_redirect off;
proxy_pass
proxy_cookie_path/jhyx//;
proxy_cookie_path/jhyx/;
proxy_set_header Host $host;
proxy_set_header Referer $http_referer;
proxy_set_header Cookie $http_cookie; //請求傳送時攜帶cookie資訊
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
access_log logs/tomcat_access.log;
} |
希望你在茫茫網路,找到一個正確的解決方法。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69957453/viewspace-2764044/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- iframe跨域session丟失問題跨域Session
- 關於Session值丟失問題Session
- 請教tomcat session丟失問題TomcatSession
- 前後端分離解決session跨域丟失問題後端Session跨域
- webpack-dev-server 代理解決cookie丟失問題--cookiePathRewriteWebdevServerCookie
- session定義使用和丟失問題小結Session
- RocketMq訊息丟失問題解決MQ
- js window.location.href之後,session丟失的問題JSSession
- struts中session丟失Session
- Oracle_dg歸檔丟失問題處理Oracle
- 急救:叢集session丟失!Session
- Nginx 反向代理解決跨域問題Nginx跨域
- 控制檔案丟失處理方法
- session丟失與解決辦法的資料Session
- Session莫名丟失的原因及解決辦法Session
- Session丟失的解決辦法小結 (轉)Session
- GoldenGate更新丟失問題Go
- JavaScript中解決計算精度丟失的問題JavaScript
- SpringCloud解決feign呼叫token丟失問題SpringGCCloud
- Oracle全部索引丟失導致的效率問題處理Oracle索引
- Nginx 反向代理解決跨域問題分析Nginx跨域
- Jison解決JS處理後端返回的Long型資料精度丟失問題JS後端
- thinkphp5丟失日誌問題,該如何解決?PHP
- js浮點數丟失問題JS
- asp.net Session丟失的解決辦法小結ASP.NETSession
- 如何處理RabbitMQ 訊息堆積和訊息丟失問題MQ
- 解決RabbitMQ訊息丟失與重複消費問題MQ
- git server“丟失”commit問題探究GitServerMIT
- Sqlserver表統計資訊丟失問題SQLServer
- dfm檔案資料丟失問題
- Session容易丟失的一些常見解決辦法Session
- oracle中undo表空間丟失處理方法Oracle
- Oracle DataGuard歸檔日誌丟失處理方法Oracle
- ASM Disk丟失的臨時解決方法ASM
- Vuex資料頁面重新整理丟失問題解決方案Vue
- 資料庫高可靠,輕鬆解決事務丟失問題資料庫
- Django資料庫連線丟失問題Django資料庫
- hibernate open session in view 丟擲異常解決方法SessionView