Nginx转发丢失Cookies如何解决

发布时间 - 2023-05-15 00:00:00    点击率:

一. 丢失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,存放着本次访问,后端可以认证的唯一JSESSIONID,如果没有它就会导致无法访问。

②配置了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
方式一进行访问没有,没有使用nginx,所以不会丢失cookies,
方式二访问虽然使用了nginx,但是因为未经过nginx转发前路径相同,所以并不会丢失nginx
方式三访问使用了nginx,并且访问路径也不同导致了nginx转发丢失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转发丢失cookie的问题
   proxy_pass http://localhost:8080/content;	   
}

四. 容易搞不清的点

上面的访问路径是下图红框中的路径,只有第一个斜杠后面的才是。


# nginx  # Cookie  # http  # 这一  # 就会  # 使用了  # 第一个  # 才是  # 一是  # 中有  # 三是  # 如果没有  # 不清 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 高防服务器租用指南:配置选择与快速部署攻略  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  Python自动化办公教程_ExcelWordPDF批量处理案例  javascript如何操作浏览器历史记录_怎样实现无刷新导航  iOS中将个别页面强制横屏其他页面竖屏  Linux系统命令中screen命令详解  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  Laravel如何处理异常和错误?(Handler示例)  香港服务器租用每月最低只需15元?  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  教学论文网站制作软件有哪些,写论文用什么软件 ?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  西安专业网站制作公司有哪些,陕西省建行官方网站?  如何破解联通资金短缺导致的基站建设难题?  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  Python制作简易注册登录系统  专业商城网站制作公司有哪些,pi商城官网是哪个?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  教你用AI润色文章,让你的文字表达更专业  香港服务器建站指南:免备案优势与SEO优化技巧全解析  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  如何在Windows 2008云服务器安全搭建网站?  如何在景安服务器上快速搭建个人网站?  如何选择可靠的免备案建站服务器?  Swift开发中switch语句值绑定模式  JavaScript如何实现倒计时_时间函数如何精确控制  浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤  南京网站制作费用,南京远驱官方网站?  *服务器网站为何频现安全漏洞?  Laravel项目怎么部署到Linux_Laravel Nginx配置详解  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  zabbix利用python脚本发送报警邮件的方法  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  利用python获取某年中每个月的第一天和最后一天  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  如何在云服务器上快速搭建个人网站?  网站制作报价单模板图片,小松挖机官方网站报价?  如何快速搭建高效香港服务器网站?  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  如何正确选择百度移动适配建站域名?  如何在七牛云存储上搭建网站并设置自定义域名?  如何在宝塔面板中创建新站点?  Python并发异常传播_错误处理解析【教程】