两个应用相互调用导致的session丢失问题

Posted crazy_itman

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两个应用相互调用导致的session丢失问题相关的知识,希望对你有一定的参考价值。

问题是这样的,有两个应用,这两个应用有相互调用关系,而且是双向调用,A会调用B,B也会调用A,且通过nginx对后台的两个tomcat进行负载均衡,结果在访问时就会不时的出现session丢失,F12查看route不停的改变,提示重新登录的错误!如果后台是单机的tomcat,则不会有上述问题。

经过不停的思考和尝试,一共思考出了两个解决方案,并且成功测试通过!

解决方案如下:

1、修改nginx负载均衡策略,由原来的sticky改为ip_hash;

2、负载均衡策略不动,还是使用sticky,只不过sticky要多些配置,如下:

upstream            loadbalancer_01

    sticky name=route1;//目的是要保证两个route

以上是关于两个应用相互调用导致的session丢失问题的主要内容,如果未能解决你的问题,请参考以下文章

关于微信内置浏览器安卓端session丢失问题

django server之间通过remote user 相互调用

php 页面调转导致session丢失解决方法

[Vuejs] Vue解决代理设置导致浏览器Session丢失的问题

Spring Boot+AngularJS中因为跨域导致Session丢失

跨域请求,关于后端session会话丢失的解决办法