워드프레스 SSL 적용시 502 bad gateway 리디렉션한 횟수가 너무 많습니다 해결 방법

얼마전 익스트림 매뉴얼 블로그에 SSL 보안인증서를 설치하면서 프로토콜이 http 에서 https 로 변경되었습니다.

서버 환경은 서버단에서 설치와 세팅을 마친 다음 재시작을 했는데 설정에 문제가 없음에도 불구하고 ‘리디렉션한 횟수가 너무 많습니다.’ 메시지가 나와 웹서버 문제인줄 알고 30분 정도를 삽질했네요.

더군다나 웹서버 앞단에 NGINX 리버스 프록시가 있기 때문에 웹서버와 리버스 프록시 설정을 번갈아서 봐야되서 더욱 해깔렸는데요.

웹서버 세팅 구조가 NGINX(리버스 프록시, SSL 적용) > NGINX(웹서버, http) 로 되어 있기 때문에 https 에서 http 로 넘어가는 과정에서 생기는 문제로 판단.

서버단에서만 이리저리 찾다가 아무리 봐도 서버단에 문제는 아닌것 같아 리디렉션 순환 오류라면 워드프레스에 문제가 있겠다 싶어 검색해 보니 해답을 얻었습니다.

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
    $_SERVER['HTTPS'] = 'on';
    $_SERVER['SERVER_PORT'] = 443;
}

답은 간단합니다. 워드프레스 루트 디렉토리의 wp-config.php를 열어 위 코드를 삽입하면 끝.

앞서 얘기한 것처럼 워드프레스가 설치되어 있는 서버는 SSL이 설정되어 있지 않은 HTTP 이기 때문에 80포트로 구동되는데요.

위 코드는 리버스 프록시에서 넘겨받은 헤더를 참조해서 앞단의 서버가 SSL로 구동된다면, 즉 https로 HTTP_X_FORWARDED 파라미터가 넘어온다면 워드프레스가 HTTPS로 동작하게 설정하는 코드 입니다.

같은 주제의 글
2 댓글
  1. ㅇㅇㅇ says

    감사합니다.
    워드프레스 ssl 적용 후에 사이트 날라가는줄 알았네요
    덕분에 한숨 돌립니다.
    꾸벅

    1. PG says

      해결하셨다니 다행입니다. 댓글 감사합니다. 😃

댓글

이메일 주소는 공개되지 않으며 댓글에 하나 이상의 URL이 포함될 경우 관리자 승인 후 공개됩니다.

댓글은 운영 정책에 따라 관리됩니다. (링크)