Facebook 会话在 ELB 后面返回空


Facebook Session returning null behind ELB

我在ELB后面运行两个Linux实例。我的应用程序具有Facebook登录作为注册方式。在实时环境中,用户从一个实例注册,为此创建了会话,但重定向多次发生在第二个实例上,导致来自 facebook 的空会话,因为该会话在第一个实例上存在。

帮我解决这个问题。这对我们的产品非常重要。

可以说,最正确的答案是,如果没有所有 Web 应用程序服务器都可以访问的适当会话数据库,则不应设计 Web 应用程序。

但是,ELB 为此监督提供了一种解决方法,称为"粘性会话"(或"会话相关性")。

默认情况下,负载均衡器将每个请求独立路由到负载最小的应用程序实例。但是,您可以使用粘性会话功能(也称为会话相关性),该功能使负载均衡器能够将用户的会话绑定到特定的应用程序实例。

http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_StickySessions.html

当然,如果应用程序服务器出现故障,或者脱机进行维护,您的用户仍然具有无效的会话...但在大多数情况下,此功能应该可以满足您的需求。