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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 前後端分離解決session跨域丟失問題後端Session跨域
- webpack-dev-server 代理解決cookie丟失問題--cookiePathRewriteWebdevServerCookie
- RocketMq訊息丟失問題解決MQ
- SpringCloud解決feign呼叫token丟失問題SpringGCCloud
- Nginx 反向代理解決跨域問題Nginx跨域
- JavaScript中解決計算精度丟失的問題JavaScript
- Nginx 反向代理解決跨域問題分析Nginx跨域
- Jison解決JS處理後端返回的Long型資料精度丟失問題JS後端
- thinkphp5丟失日誌問題,該如何解決?PHP
- git server“丟失”commit問題探究GitServerMIT
- js浮點數丟失問題JS
- [Java] 浮點數的精度丟失問題與精度控制方法Java
- 如何處理RabbitMQ 訊息堆積和訊息丟失問題MQ
- 解決RabbitMQ訊息丟失與重複消費問題MQ
- oracle中undo表空間丟失處理方法Oracle
- Oracle DataGuard歸檔日誌丟失處理方法Oracle
- vcruntime140.dll丟失的解決方法
- 資料庫高可靠,輕鬆解決事務丟失問題資料庫
- Vuex資料頁面重新整理丟失問題解決方案Vue
- Tomcat8+Nginx+redis組合解決session同步的相關問題TomcatNginxRedisSession
- 獲取登入驗證碼失敗及前後端不同域導致session丟失問題分析記錄後端Session
- Django資料庫連線丟失問題Django資料庫
- 記錄--前端金額運算精度丟失問題及解決方案前端
- Golang浮點數精度丟失問題擴充套件包解決方案Golang套件
- Redis SortedSet結構score欄位丟失精度問題解決辦法Redis
- 理解Cookie和Session機制,及其安全問題CookieSession
- Win10系統開機提示Winload.efi丟失的藍屏問題的解決方法Win10
- Web-請求資料+號丟失問題Web
- 一次inmemory丟失引起的問題分析
- 【Socket】解決UDP丟包問題UDP
- RabbitMQ如何解決被重複消費和資料丟失的問題?MQ
- 請問 django admin 介面 css 丟失解決辦法?DjangoCSS
- vue 解決不能攜帶session問題VueSession
- 關於Cordova框架對URL攔截導致通訊丟失問題的處理框架
- netcore釋出時 swagger xml釋出丟失問題NetCoreSwaggerXML
- 如何檢測 Web 服務請求丟失問題Web
- Win10系統開機提示Winload.efi丟失的藍色畫面問題的解決方法Win10
- Nginx轉發導致請求頭丟失Nginx