Nginx使用笔记(二)解决Nginx的反向代理导致Session每次都不一致,进而导致验证码总是失效的问题

文章描述了在两台服务器环境中,一台无法访问外网,通过Nginx的反向代理设置尝试让外部能够访问部署在其上的服务。然而,这导致了Session不一致,从而使得验证码失效。作者尝试了两种方法,包括添加cookie代理配置和通过Nginx代理所有前后端通信,以保持Session的一致性,但遇到了问题。

前言:

  • 问题描述:有两台服务器,一台可以访问外网,一台不能,现在已经将服务部署到那台不能访问外网的服务器中,然后需要外网访问该服务,因此想通过Nginx的反向代理转发请求,以便外网也能访问服务;但启用Nginx的反向代理后,由于访问地址和请求地址的不同,导致每次访问后端的Session都不一致,进而导致通过SessionId保存的验证码总是失效

步骤:

  • 方法一:添加cookie代理配置,从网上看的,但对我的项目不起作用
location /GetCode/ {
   proxy_pass   http://192.168.100.215:18607/;
   proxy_cookie_path /GetGetCode/ /; #添加cookie代理配置 
}
  • 方法二:前端访问后端以及其他服务的地址都通过Nginx代理

如下,前端访问后端时并不直接访问后端,而是通过Nginx代理,然后再访问后端,这样就能保证实际地址和访问地址一致,进而保证Session一致

先修改前端访问后端的配置文件,修改访问地址为Nginx的地址

ADMIN_API=http://27.17.43.117:10113/GetCode/

然后在Nginx的配置文件nginx.conf中配置如下,即通过Nginx访问后端

location /GetCode/ {
   proxy_pass   http://192.168.100.215:18607/;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值