Problemas de SSL con Magento detrás del equilibrador de carga (bucle 302)

11

Frente a mi instalación de Magento hay un equilibrador de carga que maneja todas las cosas de SSL. Si no le digo a Magento que está recibiendo una conexión segura, entrará en un bucle de redireccionamiento 302. La única solución que encontré hasta ahora es parchear el index.php principal de esta manera (el código va justo encima de la Mage::runlínea en la parte inferior del index.php):

/**
 * Prevent Magento from performing a 302 redirect loop.
 *
**/

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])) {
    if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
        $_SERVER['HTTPS'] = 'on';
        $_SERVER['SERVER_PORT'] = 443;
    }
}

(Agregué el contenido de la publicación del blog con la adición de un comentarista aquí, en caso de que el enlace se apague).

¿Cómo puedo evitar parchear un archivo central?

jmk
fuente

Respuestas:

31

Gracias a un consejo sobre el canal # magento-de irc, encontré una solución mucho más elegante. Agregue estas líneas al final de su .htaccessy debería estar bien:

# Detect the Load-Balancer-Header and set the header magento expects
SetEnvIf X-Forwarded-Proto https HTTPS=on

Vaya aquí para una explicación más larga.

jmk
fuente
TIPO. ¡Esta solución solucionó mi problema! Muchísimas gracias
kevando
Lo mismo aquí, esto resolvió mi problema.
David Tay
también funcionó para mí
Darryl
Después de usar cloudflare para usar ssl gratis, esta solución ayudó a solucionar el problema de bucles infinitos.
Damodar Bashyal