文档章节

nginx中proxy_pass到tomcat的session丢失

淡看江湖
 淡看江湖
发布于 2016/12/07 10:28
字数 270
阅读 209
收藏 1

        好多事不自己去做确实不知道,随便玩一玩就出了好多问题,虽然都不大,但却都是必须要解决的。今天早上碰见的问题就是nginx中proxy_pass到tomcat的session丢失了。

        之前也没测试过使用nginx反向代理后登陆的情况,结果今天就凑巧了。经调试发现是request请求变成了多个,并且session每次也都不一致,感觉就像是每次都在用不同的浏览器访问,得出结论:肯定是session丢失了!

        显而易见的就是问题肯定出在了nginx上面,因为之前单独使用tomcat都是没有问题的。

        之前的配置如下:

    

     upstream backend {

             #ip_hash;
             server localhost:8080;
    }
    server {
        listen    80;
        server_name  my;
        location / {

             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_buffering on;

         
             proxy_pass http://backend/xyan/; 
        }

 

修改后如下:

    

 upstream backend {

             #ip_hash;
             server localhost:8080;
    }
    server {
        listen    80;
        server_name  my;
        location / {

             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_buffering on;

         
             proxy_pass http://backend/xyan/; 

            proxy_cookie_path /xyan/ /;
             proxy_set_header   Cookie $http_cookie;  
        }

其实也就是每次都保留cookie。       

© 著作权归作者所有

共有 人打赏支持
淡看江湖
粉丝 33
博文 82
码字总数 92173
作品 0
浦东
后端工程师
Linux环境下,nginx proxy_pass tomcat之后,session失效!

生产环境如下: centos 6.5 nginx 1.8 tomcat7 redis3 mysql5.6 在上面跑了一个web应用,使用的是apache的shiro做为登陆及权限验证!用nginx proxy_pass 到tomcat跑java。 nginx配置如下: ...

TommyW
2015/08/30
661
6
nginx+tomcat负载均衡session复制问题

我的环境是:nginx+tomcat(2个),tomcat安装到同一台机器上面。 测试项目需要登录用到了session,所以在nginx里面upstream里面用了ip_hash。。 以前测试时,当一个tomcat挂掉时,登录会自动...

2008
2011/07/08
2.1K
7
nginx转发到两tomcat之后session丢失

使用nginx负载均衡到 两个tomcat之后出现session一直失效的问题。如果只启动一个tomcat的话正常,浏览器查看cookie发现下图的情况,每次请求都会返回一个JSESSIONID过来。有人知道只什么回事...

仁江
2017/04/13
532
2
tomcat8 nginx负载均衡 + 动静资源分离, 利用redis 共享 session

1、基本环境: tomcat-8.0 2台 (端口 8180, 8280) redis-2.8 (port:6379 ) nginx-1.8 2、添加tomcat和redis做session共享的jar包 (在tomcat自己的lib下添加session共享所需的jar包,需要...

steven
2016/07/29
68
0
急!急!急!nginx+tomcat做负载均衡设置了ip_hash,同一台手机的请求不能转发到相同的tomcat

配置是这样的。为了防止session失效问题,用了iphash的方式,但是从tomcat日志来看发现请求还是乱来转发,同一台手机一会转到8080,一会儿转到9090.导致session丢失。现在项目上线,这问题烦...

仁江
2016/08/05
706
9

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 鱼生不值得

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @瘟神灬念:分享新裤子的单曲《没有理想的人不伤心 (Remix版)》: 《没有理想的人不伤心 (Remix版)》- 新裤子 手机党少年们想听歌,请使劲儿戳...

小小编辑
10分钟前
2
3
arts-week10

Algorithm 905. Sort Array By Parity - LeetCode Review Who’s Afraid of the Big Bad Preloader? 一文读懂前端缓存 一个网络请求3个步骤:请求,处理,响应,而前端缓存主要在请求处响应这两步...

yysue
今天
4
0
00.编译OpenJDK-8u40的整个过程

前言 历经2天的折腾总算把OpenJDK给编译成功了,要说为啥搞这个,还得从面试说起,最近出去面试经常被问到JVM的相关东西,总感觉自己以前学的太浅薄,所以回来就打算深入学习,目标把《深入理...

凌晨一点
今天
5
0
python: 一些关于元组的碎碎念

初始化元组的时候,尤其是元组里面只有一个元素的时候,会出现一些很蛋疼的情况: def checkContentAndType(obj): print(obj) print(type(obj))if __name__=="__main__": tu...

Oh_really
昨天
6
2
jvm crash分析工具

介绍一款非常好用的jvm crash分析工具,当jvm挂掉时,会产生hs_err_pid.log。里面记录了jvm当时的运行状态以及错误信息,但是内容量比较庞大,不好分析。所以我们要借助工具来帮我们。 Cras...

xpbob
昨天
174
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部