nginx反向代理导致后端session失效解决方案

系统在测试环境中发现前端登录成功之后会立即弹出,浏览器检查请求之后发现登录成功之后由于在进入首页的其它请求中没有cookie导致依然被拦截判定没有登陆。

怀疑是nginx转发过程中导致session丢失,查看nginx配置:

location /api/ {
     
        proxy_pass http://172.26.31.2:8080/;
        error_log /var/log/nginx/logs/api_error.log  infoi;
        index index.html index.htm;
        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配置,添加该项配置后重启,解决问题:

nginx反向代理导致后端session失效解决方案_第1张图片
如果你的location是location / {...},那么请配置proxy_cookie_path / /;
proxy_cookie_path 后面的两个斜杠表示将源访问地址的“/”路径的cookie复制到目标地址的“/”路径。

你可能感兴趣的:(随笔,nginx,java,cookie,session,bug)