2012-07-31 16 views
9

Co to jest czysty, Symfony sposób na zapewnienie, że HTTPS jest używany w Symfony2, gdy znajduje się za równoważnikiem obciążenia EC2, który obsługuje połączenie SSL i wysyła je do ciebie jako HTTP.Wymagania Symfony2 HTTPS za równoważnikiem obciążenia EC2

Jeśli zrobisz coś takiego jak require_channel, otrzymasz pętlę przekierowania po początkowej zmianie na HTTPS, ponieważ na samym serwerze internetowym nadal wykonujesz HTTP. Adres URL pokazuje jednak HTTPS, a Amazon udostępnia również nagłówek X-FORWARDED-PROTO.

Czy istnieje czysty sposób na symfony2 radzenia sobie z taką sytuacją?

Odpowiedz

7

Powinieneś sprawdzić, czy this method jest odpowiedni dla ciebie.

W swojej app.php przed $kernel->handle(...); należy ustawić:

Request::trustProxyData(); 

UPDATE:

Można również skonfigurować aplikację w config.yml (patrz doc):

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

Dziękuję - dokładnie tak! – Dave

+1

W odniesieniu do UPDATE zmieniło się to tak, jak powinno być: '' 'trusted_proxies: [192.0.0.1, 10.0.0.0/8]' '' - aktualizowanie w celu użycia zakresu IP CIDR proxy. (zobacz bieżący dokument (http://symfony.com/doc/current/reference/configuration/framework.html#trusted-proxies)) –

+0

@MattRardon Czy może być powiązany z różnymi wersjami Symfony2? –

Powiązane problemy