2012-07-31 19 views
9

當EC2負載均衡器處理SSL連接並將其作爲HTTP發送給您時,確保Symfony2中使用HTTPS的Symfony乾淨方式是什麼。Symfony2 EC2負載均衡器背後的HTTPS需求

如果您執行require_channel之類的操作,在對HTTPS進行初始更改後會得到重定向循環,因爲在Web服務器本身上,您仍在執行HTTP。雖然網址確實顯示HTTPS,但Amazon也提供了X-FORWARDED-PROTO標頭以供使用。

有沒有一個有symfony2處理這種情況的乾淨方式?

回答

7

您應該檢查this method是否適合您。

在你app.php$kernel->handle(...);之前,應設置:

Request::trustProxyData(); 

UPDATE:

您也可以在config.yml配置應用程序(見doc):

framework: 
    ... 
    trust-proxy-headers: true 
+0

謝謝 - 就是這樣! – Dave 2012-07-31 09:43:15

+1

關於你的UPDATE,它已經改變了,因爲它需要:''trusted_proxies:[192.0.0.1,10.0.0.0/8]'' - 更新爲使用代理的IP CIDR範圍。 (請參閱current [doc](http://symfony.com/doc/current/reference/configuration/framework.html#trusted-proxies)) – 2013-10-18 00:28:17

+0

@MattRardon它可以與不同的Symfony2版本相關嗎? – 2013-10-18 06:31:58