Problemy z SSL z Magento za modułem równoważenia obciążenia (pętla 302)

11

Przed moją instalacją Magento znajduje się moduł równoważenia obciążenia obsługujący wszystkie elementy SSL. Jeśli nie powiem Magento, że odbiera bezpieczne połączenie, przejdzie w pętlę przekierowań 302. Jedynym rozwiązaniem , które do tej pory znalazłem, jest łatanie głównego indeksu.php w podobny sposób (kod znajduje się tuż nad Mage::runlinią u dołu indeksu.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;
    }
}

(Dodałem treść z posta na blogu z dodatkiem komentatora tutaj, na wypadek, gdyby link zniknął).

Jak mogę uniknąć łatania pliku podstawowego?

jmk
źródło

Odpowiedzi:

31

Dzięki wskazówkom na kanale # magento-de irc znalazłem znacznie bardziej eleganckie rozwiązanie. Dodaj te linie na końcu swojego .htaccessi powinno być w porządku:

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

Przejdź tutaj, aby uzyskać dłuższe wyjaśnienie.

jmk
źródło
KOLEŚ. To rozwiązanie naprawiło mój problem !!! Dziękuję bardzo
kevando
To samo rozwiązało mój problem.
David Tay
też dla mnie pracowało
Darryl,
Po tym, jak użyłem cloudflare do użycia darmowego ssl, to rozwiązanie pomogło naprawić problem nieskończonych pętli.
Damodar Bashyal