얼마전 익스트림 매뉴얼 블로그에 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로 동작하게 설정하는 코드 입니다.
3 댓글. Leave new
감사합니다.
워드프레스 ssl 적용 후에 사이트 날라가는줄 알았네요
덕분에 한숨 돌립니다.
꾸벅
해결하셨다니 다행입니다. 댓글 감사합니다. 😃
3년전 글이라 반심반의 하면서 코드추가 해봤는데, 덕분에 해결 했습니다.
11시간동안 진짜 짜증났는데 감사합니다… 진짜 왠만해서는 댓글 안다는데 정말 감사합니다.