2013-03-27 45 views
2

我有一个网站,有很多的流量和网站的性质意味着它可以在特定的时间段内有很多请求。FOSUserBundle无法在Elastic Beanstalk中工作

我使用amazon beanstalk来管理负载平衡器和实例。

我最多可以有20个实例运行,因为FOSUserBundle使用会话来保存数据,我失去用户登录等

我知道EB具有粘性,但由于该网站的性质,它被淹没,有时不会将正确的用户转发到正确的实例,所以我再次丢失用户。亚马逊毫无帮助。

有没有办法来覆盖此使用安全cookie(我知道饼干的arent安全的,但我可以创建自己的墓穴/解密方法)

任何建议将是有益的:)

+0

[NEVER创建自己的加密系统(http://stackoverflow.com/questions/3651090/home-made -cryptography)。 – moonwave99 2013-03-27 10:57:39

+0

我不会去写一个在c或什么不是,但我的意思是我自己的函数来加密和解密比crypt更安全一点 – ninjr 2013-03-27 11:02:38

+0

你解决了这个问题吗?我们的非symfony应用程序在AWS ELB以及在php.ini中配置的Elasticache/memcache会话正常工作。 Symfony2 + FOSRestbundle登录不是。我们禁用了CSRF,但仍然没有运气。当我们的ELB中只有一台服务器时,它可以工作,但是一旦我们添加了一秒钟,它就会停止。它也适用于ELB中的粘性会话和多个服务器。这导致我们相信它在symfony2中的一些东西,也许当ELB只有1个服务器或打开sticky时,可能会设置不同的头文件。 – 2015-03-19 23:29:26

回答

0

我发现离开基本上否定存储在一台服务器上的会话。我记得用一个自定义的php系统来做这个(使用php net session我几年前建立的,但并不认为它可以和symfony一起工作。自从发布这个问题后,我发现PdoSessionStorage基本上将会话存储在数据库而不是服务器上的文件或实例。

请选择您syfmony版本的命名空间有时会改变到版本

Link to PdoSessionStorage on Symfony