解决nginx中proxy_pass到tomcat的session丢失问题

引言

  一直以来我都是用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;
}

重启服务,测试!
通过!

技术交流学习或者有任何问题欢迎加群:154514123

这里写图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值