Nginx使用笔记(二)解决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/;
}

你可能感兴趣的:(nginx,nginx,笔记,运维)