Nginx 相关问题(持续更新一:Cookie问题)
业务场景一(前端设置cookie后,后端获取不到)
- 业务介绍:两个单机系统A、B,A系统为主系统,B系统为子系统,启动A系统点击链接跳转至B系统,A、B系统均独立部署,统一由Nginx进行反向代理(由于以前不使用Nginx,Nginx是后续接入的所以在原有实现上出现了问题)
- 问题描述:因为B系统虽然单独部署,但是其实是属于A系统的子系统,所以跳转后,需要实现登录状态同A系统保持一致,所以通过拦截器和A系统分发token的形式,自己实现了伪单点的功能,将A系统分发的token由前端存储到cookie中,然后B系统获取token,在请求各个接口前同A系统进行校验(其实A 系统就相当于SSO服务器)。当接入Nginx后,出现了一个问题,后端获取不到前端设置的cookie。
- 问题分析:Nginx 部署后,可以正常进行A、B系统的方向代理,并且通过;浏览器F12观察发现,cookie中设置的token已经在浏览器端了,证明不是浏览器端丢失了,所以之后排查Nginx配置及B系统项目配置发现,A、B系统的项目跟路径设置的都是 / ,而A系统跳转到B系统是通过前端路由转发的cxjg开头,用于设置不同的location,这就导致,Nginx在反向代理后,将path为/ 的cookie带给了B系统,而不是将path为/cxjg下的cookie带给B系统,所以最终获取不到我们需要的token。
- 问题解决:将B系统项目根路径换成 /cxjg ,这样就可以获取到了。
- 问题反思:之前别人配置的思路有问题,导致静态资源及token都获取不到,所以在我排查出来之后进行记录,一般情况下也不会出现这种问题,因为一般不同的系统都会设置不同的项目跟路径(规范的话),所以以后项目要写的规范些。
不喜勿喷,就是随笔记录一下,希望给同样业务场景的人快速解决这个问题。因为排查过程中还是很不容易发现的。转载请标明出处
Nginx 相关问题(持续更新一:Cookie问题)相关推荐
- TC数据库相关整理(持续更新)
TC数据库相关整理 1.常用的查找表的方法 2.用到过的表 3.使用过的语句 1.分类相关 2.创建视图 3.创建package 4.BOM相关 4.写在后面 1.常用的查找表的方法 在bmide中, ...
- 浏览器相关(持续更新)
秋招后的一些记录,看了很多东西想写下来,希望自己可以随时的查看,也希望有错误的地方大神可以指正. 1.浏览器的主要组成部分 用户界面.浏览器引擎.呈现引擎.网络.用户界面后端.JavaScript解释 ...
- 【QA单】柿饼派及柿饼M3模块相关QA(持续更新....)
PersimmonUI是以C++编写的,是RT-Thread上一款现代化图形UI库. Q:现在的新版柿饼派和旧版的有什么区别,可以在之前旧版上使用 SDK 开发么? A: 之前旧版的需要与淘宝客服联系 ...
- 2022年顶会、顶刊SNN相关论文----------持续更新中
原文链接:https://blog.csdn.net/qq_43622216/article/details/124163883 2022年顶会.顶刊SNN相关论文 目录 说明 AAAI2022(共7 ...
- Ubuntu下docker相关问题 - 持续更新中
permission denied 相关错误 问题描述 执行 docker 相关命令,会出现如下类似问题.sudo docker 则没有相关警告提示 WARNING: Error loading co ...
- pytorch下Numpy,Torch,Spicy,NetworkX及其他基本数据类型相关操作(持续更新)
Tricks 1. torch.sparse.FloatTensor(position, value) 稀疏张量表示为一对稠密张量:一个值张量和一个二维指标张量(每一维中存储多个值).一个稀疏张量可以 ...
- 视网膜脱落相关知识(持续更新中)
视网膜脱落的类型 [1]中主要分为两大类: 1.孔源性视网膜脱离 大多数视网膜脱离是这一类型的.由于各种内.外界原因导致视网膜产生了裂孔,引起的视网膜脱离.内因是指视网膜本身的原因,比如:高度近视视网 ...
- X86Windows 相关链接....持续更新中....
链接说明 链接 备注 qboot是一个小型快速的Bios https://github.com/bonzini/qboot SeaBois是Bochs使用的Bois http://www.seabio ...
- Odoo相关资源(持续更新中)
http://odoo-documention-user.readthedocs.io/crm/leads/voip/setup.html 官方"安装 Asterrisk 服务器" ...
最新文章
- DenthDepth:深度估计(三维场景构建)——单目视觉挑战激光雷达
- python GUI编程( 二 ) (基于PyQt5)
- [转]linux下fms2流媒体服务器搭建之五-----flv播放器制作篇
- torch_{geometric/scatter}中一些函数的用法(softmax,scatter)
- 下划线转驼峰,并且首字母大写
- python 对象序列化 pickling_[Python]对dat文件的操作:序列化对象
- oracle怎么导出筛选后的数据,ORACLE,筛选单字段不重复的记录,保留其他字段....
- java 定时任务spring_Spring定时任务(一):SpringTask使用
- iOS6 自动布局 入门–Auto Layout(转)
- 【转】人工智能-1.2.2 神经网络是如何进行预测的
- TortoiseGit使用
- TypeScript手册翻译系列4-模块
- python成绩统计_利用python进行学生成绩分析
- 举例说明数据库一、二、三及BCNF范式
- WEBSHELL 提权方法总结
- Java绩效评语_导师评语(转) - Java, Only Java! - BlogJava
- css学习笔记-盒子的样式
- 阻塞/非阻塞 同步/异步
- 秒懂所有USB接口类型,USB接口大全;Type-A、Type-B、Type-C、miniUSB、microUSB区分
- 学习软件两年了,距离成为程序员还有多远?