2012-07-31 14 views
9

Was ist eine saubere, Symfony Art zu gewährleisten, HTTPS in Symfony2 verwendet wird, wenn hinter einem EC2 Load Balancer, der die SSL-Verbindung behandelt und sendet es an Sie als HTTP.Symfony2 HTTPS Anforderung hinter EC2 Load Balancer

Wenn Sie etwas wie requests_channel tun, erhalten Sie eine Umleitungsschleife nach der ersten Änderung an HTTPS, weil Sie auf dem Webserver selbst immer noch HTTP ausführen. Die URL zeigt jedoch HTTPS und Amazon bietet einen X-FORWARDED-PROTO-Header, der ebenfalls verwendet werden kann.

Gibt es einen sauberen Weg, symfony2 mit dieser Art von Situation fertig zu werden?

Antwort

7

Sie sollten überprüfen, ob this method für Sie geeignet ist.

In Ihrem app.php vor dem $kernel->handle(...); sollten Sie Folgendes einstellen:

Request::trustProxyData(); 

UPDATE:

Sie können Ihre Anwendung in config.yml konfigurieren (siehe doc):

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

Danke - das ist es genau! – Dave

+1

In Bezug auf Ihr UPDATE hat sich das geändert, wie es sein muss: '' 'trusted_proxies: [192.0.0.1, 10.0.0.0/8]' '' - Aktualisierung, um den IP-CIDR-Bereich des Proxys zu verwenden. (siehe aktuelles [doc] (http://symfony.com/doc/current/reference/configuration/framework.html#trusted-proxies)) –

+0

@MattRardon Kann es mit verschiedenen Symfony2-Versionen zusammenhängen? –

Verwandte Themen