2013-03-27 145 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