2012-07-31 18 views
9

¿Qué es una forma limpia de Symfony de garantizar que se utiliza HTTPS en Symfony2 cuando está detrás de un equilibrador de carga EC2 que maneja la conexión SSL y se la envía como HTTP.Symfony2 Requisito de HTTPS detrás del equilibrador de carga EC2

Si hace algo como requires_channel obtiene un bucle de redirección después del cambio inicial a HTTPS porque en el servidor web en sí todavía está haciendo HTTP. Sin embargo, la url muestra HTTPS, y Amazon proporciona un encabezado X-FORWARDED-PROTO para usar también.

¿Hay alguna forma clara de que Symfony2 maneje este tipo de situación?

Respuesta

7

Debe comprobar si this method es adecuado para usted.

En su app.php antes de la $kernel->handle(...); debe establecer:

Request::trustProxyData(); 

ACTUALIZACIÓN:

También puede configurar la aplicación en config.yml (ver doc):

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

Gracias, ¡eso es exactamente! – Dave

+1

Con respecto a su ACTUALIZACIÓN, esto ha cambiado, ya que debe ser: '' 'trusted_proxies: [192.0.0.1, 10.0.0.0/8]' '' - actualización para usar el rango IP CIDR del proxy. (ver el actual [doc] (http://symfony.com/doc/current/reference/configuration/framework.html#trusted-proxies)) –

+0

@MattRardon ¿Se puede relacionar con las diferentes versiones de Symfony2? –

Cuestiones relacionadas