zimbra

프록시 뒤에서 워드프레스를 HTTPS/SSL로 셋업하기

아래 글은 Heiner’s Blog의 “How to set up HTTPS/SSL in WordPress behind Proxy (nginx, HAProxy, Apache, lighttpd)”을 토대로 zimbra proxy server에서 어떻게 응용하는지 더해서 정리한 것입니다. Heiner’s Blog의 원글은 여기에서 볼 수 있습니다.

HTTP로 접속하던 워드프레스 웹서버를 HTTPS/SSL운영되는 리버스 프록시 서버 뒤로 옮기는 경우에는 백엔드의 워드프레스가 제대로 로드되지 않습니다.  특히, 자바스크립트, 이미지 파일, CSS 파일과 같은 요소들은 잘 로드되지 못했습니다. 이하는 이를 교정하는 방법을 기술한 것입니다.

이 문제의 원인은 워드프레스가 프록시 서버 뒤에서 운영될 때 접속자(클라이언트)와 프록시 서버간의 프로토콜(HTTPS)를 잘 캐치해내지 못하는데 있었습니다. 접속자의 브라우저와 프록시 서버간의 연결은 HTTPS이고 프록시 서버와 워드프레스간의 접속은 HTTP로 이루어진다면, 워드프레스는 접속자와의 전체적인 연결이 HTTPS가 아니라 HTTP로 연결되는 것으로 인식합니다. 이에 따라, 워드프레스는 절대경로에 http://를 붙여 잘못된 URL을 내보내는 것입니다. 이를 교정하는 방법은 다음과 같습니다.

1. 프록시 서버가 워드프레스에 접속요청을 보낼때 “X-Forwarded-*”  HTTPS 문구를 반드시 기술하도록 해야 합니다. 만약, 프록시 서버로 nginx가 설치되어 있으면 nginx 설정에서 proxy_pass 관련 구문에 다음을 포함해야 합니다.

2. 워드프레스에 SSL Insecure Content Fixer 플러그인을 설치하고 활성화합니다.

3. 설정 -> SSL Insecure Contents로 들어갑니다.

4. HTTPS detection을 “HTTP_X_FORWARDED PROTO”로 설정합니다.

HTTPS detection을 “HTTP_X_FORWARDED_PROTO”로 선택합니다.

5. 설정 -> 일반으로 들어갑니다.

6. “워드프레스 주소(URL)”와 “사이트 주소(URL)”를 이제 https:// 로 시작하는 주소로 설정합니다.

워드프레스와 사이트 주소를 https://로 시작하도록 수정합니다.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다