ロードバランサーの背後にあるMagentoのSSLの問題(302ループ)


11

私のMagentoインストールの前に、すべてのSSLのものを処理するロードバランサーがあります。安全な接続を受信して​​いることをMagentoに伝えない場合、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

詳しい説明については、こちらをご覧ください。


おい。この解決策は私の問題を修正しました!!! どうもありがとうございました
kevando

ここでも同じで、これで問題が解決しました。
David Tay、2016年

私にも働きました
ダリル

cloudflareを使用して無料のsslを使用した後、このソリューションは無限ループの問題の修正に役立ちました。
Damodar Bashyal 2017年

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.