在多个虚拟机网站ec2上使用facebook登录

时间:2015-06-02 15:04:01

标签: amazon-ec2 virtual-machine facebook-php-sdk facebook-login amazon-elastic-beanstalk

我有一个网站https://en.mypen.net,允许用户使用Facebook和谷歌登录。

该网站托管在AWS上。 问题是,当我有超过1台virtaul机器时,getSessionFromRedirect()仅在我重定向到同一台机器时返回一个会话。因为我现在有3台机器,它只能工作33%。

地址相同。知道为什么会发生这种情况吗?我使用en.mypen.net中的CNAME到elsatic beanstalk。

1 个答案:

答案 0 :(得分:0)

现在服务器上存在会话信息。当您有3台服务器时,会话仅存在于其中一台服务器上。您的问题有两种可能的解决方案:

  • 设置distributed session store,以便当一个服务器创建会话时,它可供所有其他服务器使用。这是最具扩展性和容错能力的选项。
  • 启用sticky sessions。这是最快捷,最简单的选择。请注意,如果Elastic Beanstalk缩减实例数量,则会破坏某些会话。