nginx导致的session丢失的解决方法

nginx把同一用户的请求分发到了不同的服务器,如果不做处理,就会导致session丢失。

1、粘性IP:

在nginx配置文件中,增加配置, 对IP进行HASH后,散列到服务器。 

这个实现最简单。但对于前端部署了SBC的,或者很多请求都是从某一个外网网关过来的,就没用了。而且对于app会切换wifi变ip的,也不好用。

  

2、服务器Session复制

   <1> 在 tomcat的web.xml中配置为集群模式,

   <2> 在tomcat的server.xml中配置集群信息。

    配置后,就可以自动复制session了。

   缺点是每台服务器上都要保存全量的session信息,在服务器多的情况下,基本不可用。但开发简单,在只有两三台服务器的时候,是可以的。

具体配置如下:

3、session共享配置

 

原理:

springboot整合redis使用nginx实现负载均衡实现session共享

https://blog.csdn.net/eumenides_/article/details/78390837?locationNum=4&fps=1

猜你喜欢

转载自www.cnblogs.com/aoyihuashao/p/9058232.html
今日推荐