Проблемы SSL с Magento за балансировщиком нагрузки (цикл 302)


11

Перед моей установкой Magento находится балансировщик нагрузки, который обрабатывает все вещи SSL. Если я не скажу Magento, что он получает безопасное соединение, он перейдет в цикл перенаправления 302. Единственное решение, которое я нашел до сих пор, это исправить основной файл index.php следующим образом (код идет прямо над Mage::runстрокой внизу 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;
    }
}

(Я добавил содержание из поста в блоге с добавлением от комментатора здесь, на случай, если ссылка не работает).

Как я могу избежать исправления файла ядра?

Ответы:


31

Благодаря подсказке на канале # magento-de irc я нашел гораздо более элегантное решение. Добавьте эти строки в конец вашей, .htaccessи все будет хорошо:

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

Иди сюда для более подробного объяснения.


DUDE. Это решение исправило мою проблему !!! Спасибо ооочень большое
— Кевандо

То же самое здесь, это решило мою проблему.
— Дэвид Тэй

работал для меня тоже
— Дэррил

После того, как я использовал cloudflare для использования бесплатного ssl, это решение помогло исправить проблему с бесконечными циклами.
— Дамодар Башял

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.