系统在测试环境中发现前端登录成功之后会立即弹出,浏览器检查请求之后发现登录成功之后由于在进入首页的其它请求中没有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配置,添加该项配置后重启,解决问题:

如果你的location是location / {...},那么请配置proxy_cookie_path / /;
proxy_cookie_path 后面的两个斜杠表示将源访问地址的“/”路径的cookie复制到目标地址的“/”路径。
在测试环境中发现登录成功后,由于在进入首页的请求中缺少cookie,用户被判定未登录。问题根源在于nginx配置中缺少proxy_cookie_path设置。通过添加proxy_cookie_path配置并重启服务,成功修复了session丢失的问题,确保了用户登录状态的正常维护。
1453

被折叠的 条评论
为什么被折叠?



