网站做了nginx负载均衡,登陆都是存在了cookie,结果最近网站人一多, 就出现所谓的掉线,并不是cookies失效 http302 跳转到登陆页面。
那你的问题是啥?既然是有负载均衡,那么就要考虑把Session存储到统一的位置,否则多台机器各自管理自己的Session,就会导致负载均衡的时候,登录状态丢失。
假设有S1/S2/S3三台服务器,C1客户端
C1第一次访问,通过负载均衡,访问到了实际S1,产生session信息保存在cookie中。
接着第二次访问, “” “” ,访问到了实际S1,没问题,正常
接着第三次访问, “” “” ,访问到了实际S2,问题来了,S2没有C1的session,然后就302了
负载均衡,缓存 session这些公用的最好是统一管理,不要每台机子都在存,都在取,完全可以用redis
配置一下nginx的粘性session,使一个客户端在回话期间内始终负载到指定的机器上。
服务端做session共享,具体实现再百度,方式不一
用token吧,jwt方式也可以。