SSL-Probleme mit Magento hinter Load Balancer (302-Schleife)

11

Vor meiner Magento-Installation befindet sich ein Load Balancer, der alle SSL-Aufgaben erledigt. Wenn ich Magento nicht sage, dass es eine sichere Verbindung empfängt, geht es in eine 302-Umleitungsschleife. Die einzige Lösung, die ich bisher gefunden habe, besteht darin, die Hauptdatei index.php wie folgt zu patchen (Code steht direkt über der Mage::runZeile unten in der Datei 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;
    }
}

(Ich habe den Inhalt aus dem Blog-Beitrag mit dem Zusatz eines Kommentators hier hinzugefügt, falls der Link nicht mehr funktioniert.)

Wie kann ich vermeiden, eine Kerndatei zu patchen?

jmk
quelle

Antworten:

31

Dank eines Tipps auf dem Kanal # magento-de irc habe ich eine viel elegantere Lösung gefunden. Fügen Sie diese Zeilen am Ende Ihres hinzu .htaccessund es sollte in Ordnung sein:

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

Hier finden Sie eine längere Erklärung.

jmk
quelle
KUMPEL. Diese Lösung hat mein Problem behoben !!! Vielen Dank
Kevando
Gleich hier löste dies mein Problem.
David Tay
arbeitete auch für mich
Darryl
Nachdem ich Cloudflare zur Verwendung von Free SSL verwendet hatte, half diese Lösung, das Problem mit Endlosschleifen zu beheben.
Damodar Bashyal