解决nginx proxy_pass反向代理cookie,session丢失的问题
開發了一個web項目,直接通過url訪問,可以正常訪問。但是通過nginx就訪問不到css,js等文件。
?
nginx.conf文件配置如下:
?
訪問web報錯。
?
但是直接訪問web就正常
?
整了很長時間,原始是cookie,session丟失的問題。
?
為什么cookie 會丟失?
比如說一個沒有經過代理的地址 : http://127.0.0.1/project cookie_path:/project
如果按照第二種方式代理 那么地址就是 : http://127.0.0.1/proxy_path cookie_path: /proxy_path
如果cookie_path與地址欄上的path不相符游覽器就不會接受這個cookie,自然session就失效了
?
proxy_cookie_path 的用法
proxy_cookie_path 的作用是用來改變cookie的路徑
語法: proxy_cookie_path path replacement; path就是你要替換的路徑 replacement 就是要替換的值
詳情可以去nginx 官網看看?
?
下面是可能的三種情況
1. host、端口轉換,cookie不會丟失
2.路徑也變化,則需要設置cookie的路徑轉換
3.直接代理本地端口
參考博客鏈接:https://blog.csdn.net/isyoungboy/article/details/81382193
?
根據以上資料,修改我的nginx.conf如下
重新啟動nginx,成功訪問
?
?
總結
以上是生活随笔為你收集整理的解决nginx proxy_pass反向代理cookie,session丢失的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: plsql生成awr报告
- 下一篇: 通过nginx访问web,出现ERR_C