2012-07-31 28 views
9

SSL接続を処理してHTTPとして送信するEC2ロードバランサの背後にある場合、Symfony2でHTTPSが使用されていることを確認するクリーンなSymfonyの方法とは何ですか?symfony2 EC2ロードバランサの背後にあるHTTPS要件

require_channelのような操作を行うと、Webサーバー自体がHTTPを実行しているため、HTTPSへの最初の変更後にリダイレクトループが発生します。 URLにはHTTPSが表示され、AmazonはX-FORWARDED-PROTOヘッダーも提供しています。

symfony2がこのような状況に対処するためのきれいな方法はありますか?

答えて

7

this methodがあなたに適しているかどうかを確認する必要があります。

$kernel->handle(...);あなたが設定する必要があります前に、あなたの app.php

Request::trustProxyData(); 

をUPDATE:

あなたはまた、config.ymlでアプリケーションを設定することができます(docを参照してください):

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

ありがとうございました - それはまさにそれです! – Dave

+1

UPDATEに関して、これは以下のように変更されています: '' 'trusted_proxies:[192.0.0.1、10.0.0.0/8]' '' - プロキシのIP CIDR範囲を使用するように更新します。 (現在の[doc](http://symfony.com/doc/current/reference/configuration/framework.html#trusted-proxies)を参照してください) –

+0

@MattRardon別のSymfony2バージョンに関連付けることはできますか? –

関連する問題