Masalah SSL dengan Magento di belakang load balancer (302 loop)

11

Di depan instalasi Magento saya adalah penyeimbang beban yang menangani semua hal SSL. Jika saya tidak memberi tahu Magento bahwa ia menerima koneksi aman, ia akan masuk ke 302 redirect loop. Satu-satunya solusi yang saya temukan sejauh ini adalah menambal index.php utama seperti (kode berada tepat di atas Mage::rungaris di bagian bawah 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;
    }
}

(Saya menambahkan konten dari posting blog dengan tambahan dari komentator di sini, jika tautannya mati).

Bagaimana saya bisa menghindari menambal file inti?

jmk
sumber

Jawaban:

31

Berkat tip di saluran # magento-de irc saya menemukan solusi yang jauh lebih elegan. Tambahkan baris-baris ini ke akhir baris Anda .htaccessdan itu akan menjadi baik:

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

Buka di sini untuk penjelasan yang lebih panjang.

jmk
sumber
DUDE. Solusi ini memperbaiki masalah saya !!! Terima kasih banyak
kevando
Sama di sini, ini menyelesaikan masalah saya.
David Tay
bekerja untuk saya juga
Darryl
Setelah saya menggunakan cloudflare untuk menggunakan ssl gratis, solusi ini membantu memperbaiki masalah loop tak terbatas.
Damodar Bashyal