溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Nginx轉(zhuǎn)發(fā)丟失Cookies如何解決

發(fā)布時間:2023-01-30 09:14:43 來源:億速云 閱讀:226 作者:iii 欄目:開發(fā)技術(shù)

今天小編給大家分享一下Nginx轉(zhuǎn)發(fā)丟失Cookies如何解決的相關(guān)知識點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

一. 丟失Cookies操作

路徑一 :http://localhost:8080/content/requestAction!showMainServiceReqDetail.action
路徑二 :http://localhost/content/requestAction!showMainServiceReqDetail.action
路徑三 :http://localhost/clp/requestAction!showMainServiceReqDetail.action

路徑一是直接訪問,路徑二與路徑三是通過nginx訪問

三個訪問前提條件
①瀏覽器有Cookie,如下圖所示:
通過訪問路徑http://localhost:8080/content/requestAction!XXX.action 附加Cookies中的JSESSIONID。
此cookies中有JSESSIONID,存放著本次訪問,后端可以認(rèn)證的唯一JSESSIONID,如果沒有它就會導(dǎo)致無法訪問。

Nginx轉(zhuǎn)發(fā)丟失Cookies如何解決

②配置了nginx配置文件

server {
      listen       80;
      server_name  localhost;
location /clp {
   #proxy_set_header Host $host;
   #proxy_set_header X-Real-IP $remote_addr;
   #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_pass http://localhost:8080/content;
   
}

location /content {
   #proxy_set_header Host $host;
   #proxy_set_header X-Real-IP $remote_addr;
   #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_pass http://localhost:8080/content; 
}

通過上面三個路徑訪問,路徑一與路徑二可以訪問成功,路徑三訪問失敗

二. 丟失Cookies原因

因為 http://localhost:8080/content/requestAction!XXX.action的訪問路徑為/content/requestAction
方式一進(jìn)行訪問沒有,沒有使用nginx,所以不會丟失cookies,
方式二訪問雖然使用了nginx,但是因為未經(jīng)過nginx轉(zhuǎn)發(fā)前路徑相同,所以并不會丟失nginx
方式三訪問使用了nginx,并且訪問路徑也不同導(dǎo)致了nginx轉(zhuǎn)發(fā)丟失cookies的問題。

三. 解決方案

location /clp {
   #proxy_set_header Host $host;
   #proxy_set_header X-Real-IP $remote_addr;
   #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_cookie_path /content /clp;  #這一句就可以解決nginx轉(zhuǎn)發(fā)丟失cookie的問題
   proxy_pass http://localhost:8080/content;	   
}

四. 容易搞不清的點(diǎn)

上面的訪問路徑是下圖紅框中的路徑,只有第一個斜杠后面的才是。

Nginx轉(zhuǎn)發(fā)丟失Cookies如何解決

以上就是“Nginx轉(zhuǎn)發(fā)丟失Cookies如何解決”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI