我们有一个 Drupal 应用程序,它使用 sso 来登录用户。
我们正在使用 AWS 经典负载均衡器 (ELB),AWS 告诉我们 ELB 上没有会话持久性。
我想弄清楚的是 cookie 如何在经典负载均衡器上与非持久性一起工作。
example.com DNS 指向 ELB。池 Server1 和 Server2 中有 2 台服务器
我们想要发生的是,如果用户http://example.com/user/12345/在服务器 1上点击他们的主页,如果他们尚未登录,他们将被重定向到 sso 页面http://example.com/user/login/sso,自动登录并获取 cookie SESS<hexnumber>,然后重定向回http://example.com/user/12345/
我们不允许添加任何会话服务器(redis),以保证它们将保留在服务器 1 上进行两次重定向。
据我所知,每次点击“example.com”时,用户最终都可能在服务器 1 或服务器 2 上。
我的问题:
如果他们在 server1 上获得了 cookie,然后被重定向到 server2,那么 server2 如何知道 cookie 已经分配给 server1 上的那个用户?
我似乎在思考自己的圈子。过去在使用没有会话持久性的 LB 进行此类设置时,我们使用了一个 redis 服务器来保存会话,并且每个请求都会查看 redis 服务器以获取会话信息。