共计 781 个字符,预计需要花费 2 分钟才能阅读完成。
一直以来我都是用 nginx/1.9.2(Linux) 来作为 web 服务器和代理服务器来使用,都是一个应用对应一个二级域名。
近期在部署一个统一管理后台的时候,用户登录进入后台时出现异常,拦截器找不到登录的用户信息,检查了用户是否登录成功,session 是否写入成功,都没问题,经调试发现是 request 请求变成了多个,并且 session 也不一致,感觉就像是另一个浏览器在访问,得出结论:肯定是 session 丢失了!
原因
经过认真的分析,得出结论:问题出在 Nginx 的配置上!
server_name blog.abc.com;
listen 80;
location / {proxy_pass http://127.0.0.0:8080/blog/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
解决方案
server_name blog.abc.com;
listen 80;
location / {proxy_pass http://127.0.0.0:8080/blog/;
proxy_cookie_path /blog/ /;
proxy_set_header Host $host;
proxy_set_header Remote_Addr $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
重启服务,测试!
通过!
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-12/138388.htm
正文完
星哥玩云-微信公众号