2013-04-23 38 views
3

我正在一個的Symfony2應用程序,我需要得到信任代理(IP(S)) 它的後面我的應用程序會爲這裏所描述的運行:http://symfony.com/blog/new-in-symfony-2-3-use-sub-networks-to-configure-trusted-proxies的Heroku上<strong>Heroku的</strong>信任代理

有一個關於IP(S)戴諾可在說Dyno manifold得到提:

當運行多個DYNOS,應用在幾個節點分佈dyno經理。訪問您的應用程序始終通過 路由器。

因此,dynos沒有靜態IP地址。儘管您不能直接連接到測功機 ,但可以從測功機發起傳出 請求。然而,你可以指望在不同的地方重新啓動動態IP地址 。

框架實際上有像一些選項:

framework: 
    trust_proxy_headers: true 

但這馬上就會過時......

謝謝! :)

回答

4

你可能只在您的前端控制器,由信任傳入IP添加一個調用(因爲只有這樣才能讓你的服務器是通過Heroku的路由層):

Request::setTrustedProxies(array($_SERVER['REMOTE_ADDR'])); 
+0

確實如此,但我不確定是否有漏洞,我需要調查! 謝謝! – Azr 2013-04-25 10:25:20

+0

我認爲這是正確的答案,因爲在任何情況下,heroku都會設置REMOTE_ADDR。 – Azr 2013-05-27 09:31:33

-1

嗯,上Heroku在dynos上運行的應用程序只能通過路由圖層/代理訪問,因此您應該很好地信任所有內容。另外,將請求代理到您的應用程序的路由器的IP地址未知。

Request::setTrustedProxies(array('0.0.0.0/0')); 
+0

這將允許任何請求欺騙它自己的IP地址,因爲您將信任任何長度鏈 – 2018-02-14 02:41:44

相關問題