网站首页 > 技术教程 正文
前端在单页面开发中,通常会采用proxy代理的方式进行后台服务的转发,部署到nginx服务器,此时不做其他配置的情况下,如果项目用到cookie,可能会出现cookie写入失败的问题。
仔细查看set-cookie的值时发现其中包括Path:/XXX/XXX的键值,一般/XXX/XXX为后台项目名,它意味着你的前端项目需运行在这个目录下cookie才能写入成功。
当然我们自己按照名称创建/XXX/XXX的目录,再把项目放入其中可以解决此问题,但未免太粗暴,如果Path的值改变,我们又需要再次改变项目目录结构。
nginx 代理的方式
如果项目生产环境使用了nginx代理,那么只需要一行配置就可以轻松搞定,直接上代码
原理是代理转换了cookie的path,从/aaa,转换成/。这样项目就不用做任何修改了。
webpack-dev-server 解决方案
了解前面两个方案之后,我们来看看重头戏,项目本地开发时使用webpack-dev-server(^2.4.5)提供的代理功能,我们该怎么来配置呢?相信比较熟悉webpack-dev-server的同学都知道webpack-dev-server可以配置proxy,其实就是个代理的配置。先看一下最终的解决方案,在webpack.config.js中配置,如下
使用onProxyRes的配置进行手动修改cookie。如果其他同学有其他简单一些的方式,还望不吝赐教!
同样是作为代理,思路就是参照nignx的思路一样,对cookie 的path进行一个转化,这样思路就明确了,查找配置,转换cookie。
onProxyRes会对response进行拦截,如果response-header中包含set-cookie,会根据正则匹配并通过replace方法替换成/,也就是根路径,删掉之前的cookie并重新写入。
更简洁的方式
最新的webpack-dev-server3.1.5已经支持配置cookiePathRewrite,依赖于http-proxy的更新,所以现在修改cookie的path更简单了。
如果有其他方式或问题,欢迎评论区沟通~~
猜你喜欢
- 2024-10-17 知了汇智《XSS攻击-盗取cookie实战》课程文档讲解
- 2024-10-17 nginx反向代理配置(nginx反向代理配置api接口)
- 2024-10-17 清除Cookies头解决Nginx 431 Request Header Too Large错误
- 2024-10-17 开发2年面试字节Java岗面经分享:算法+网络+Redis+爬虫+高并发
- 2024-10-17 系统架构设计:平滑发布和ABTesting
- 2024-10-17 nginx如何实现灰度发布(nginx如何实现灰度发布数据)
- 2024-10-17 iframe 内嵌的页面如何进行鉴权?(iframe contentdocument)
- 2024-10-17 前端优化:几个技巧,提高 Web 性能
- 2024-10-17 基于hi-nginx的web开发(python篇)——cookie和会话管理
- 2024-10-17 使用 Nginx 实现灰度发布(nginx lua 灰度发布)
你 发表评论:
欢迎- 最近发表
-
- linux CentOS检查见后门程序的shell
- 网络安全工程师演示:黑客是如何使用Nmap网络扫描工具的?
- Linux中ftp服务修改默认21端口等(linux修改ftp配置文件)
- Linux系统下使用Iptables配置端口转发,运维实战收藏!
- 谈谈TCP和UDP源端口的确定(tcp和udp的端口号相同吗)
- Linux 系统 通过端口号找到对应的服务及相应安装位置
- 快速查找NAS未占用端口!Docker端口秒级排查+可视化占坑双杀技
- 【知识杂谈#2】如何查看Linux的(本地与公网)IP地址与SSH端口号
- 如何在Linux中查询 DNS 记录,这三个命令可谓是最常用、最经典的
- 【Linux系统编程】特殊进程之守护进程
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)