로드 밸런서 뒤의 Magento 관련 SSL 문제 (302 루프)


11

내 Magento 설치 앞에는 모든 SSL 항목을 처리하는로드 밸런서가 있습니다. Magento에게 보안 연결을 받고 있다고 말하지 않으면 302 리디렉션 루프로 이동합니다. 지금까지 찾은 유일한 해결책 은 기본 index.php를 패치하는 것입니다 (코드는 Mage::runindex.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

나를 위해 일한
Darryl

freesl을 사용하기 위해 cloudflare를 사용한 후이 솔루션은 무한 루프 문제를 해결하는 데 도움이되었습니다.
Damodar Bashyal

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.