워드프레스, 피엠위키에 HTTPS 적용

dev | 2017-02-16

갑자기 HTTPS가 이슈가 되는 것을 보고 그동안 귀찮아서 적용하지 않았던 사이트들에도 HTTPS를 적용했다. HTTPS 적용이야 클라우드 플레어에서 클릭 몇 번으로 활성화 할 수 있었는데 막상 어플리케이션에서 부드럽게 전환이 되지 않았다.

우선 워드프레스는 CSS와 스크립트 같은 자원이 브라우저에서 차단됐다. 그리고 링크에도 HTTP가 명시되어 있어서 링크를 클릭하면 HTTPS가 계속 유지되 않았다. 이 문제는 워드프레스 관리자 페이지에서 웹사이트 주소 설정을 HTTPS 주소로 바꾸는 것으로 간단히 해결했다. 테마에 적용되어 있는 절대 경로들이 같이 업데이트 되었다. 컨텐츠 안에 사용된 이미지들은 HTTP로 적용되어 있는데 이것은 이상하게 클라우드 플레어에서 자동 HTTPS 전환(Automatic HTTPS Rewrites)을 활성화 해도 전환이 안됐다. 섞인 콘텐츠(mixed contents)오류가 발생하기는 하는데 일단 콘텐츠 표시에 문제는 없어서 그냥 뒀다. 나중에 DB에서 일괄 수정해야 할 듯 하다.

문제는 관리자 페이지였는데 브라우저에서 리다이렉트 오류가 나면서 표시가 안됐다. 오류 로그를 보니 관리자 페이지에 접근을 하면 무한 리다이렉트가 되고 있었다. 좀 찾아보니 클라우드 플레어와 같은 환경에서는 HTTPS를 사용하기 위해서 추가 설정이 필요했다. wp-config.php에 아래 코드를 넣어주니 관리자 페이지가 나왔다.

define('FORCE_SSL_ADMIN', true);
// in some setups HTTP_X_FORWARDED_PROTO might contain 
// a comma-separated list e.g. http,https
// so check for https existence
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
       $_SERVER['HTTPS']='on';

피엠위키(Pmwiki)로 운영하던 사이트도 HTTPS를 적용하니 외부자원이 차단됐다. 찾아보니 피엠위키도 역시 HTTPS 사용 설정을 해줘야 하는데 클라우드 플레어 서버와의 연결은 그냥 HTTP이기 때문에 설정을 다 할 필요는 없었고 local/config.php에서 주석처리되어 있는 아래 부분을 정확한 값으로 수정해 주는 것으로 해결했다.

##  $ScriptUrl is your preferred URL for accessing wiki pages
##  $PubDirUrl is the URL for the pub directory.
$ScriptUrl = 'https://accessibility.kr/pmwiki/pmwiki.php';
$PubDirUrl = 'https://accessibility.kr/pmwiki/pub';

제로보드4 사이트도 있었는데 이건 별 문제 없이 잘 적용됐다.

Comments

    Post a comment

    :

    : 공개 되지 않습니다. Gravatar를 표시 합니다.

    :

    : HTML 태그를 사용할 수 없습니다.