본문 바로가기
개발일기/워드프레스

워드프레스(wordpress) ssl작업

by 프로그래머콩 2019. 2. 4.

( 아래글은 특정상황에 대한 일부 해결법을 작성한 글입니다 )

-  호스팅 : cafe24.

– ssl : cafe24에서 구입.
– 구현 CMS : 워드프레스(wordpress)

1. Cafe24의 보안인증서 구축관련 안내

– https://help.cafe24.com/cs/cs_faq_view.php?idx=1269&page=1&mode=&s_value=&faq_list=512&categoryIdx=0&select_os=&contentNum=1


==> 요약 : 

(2) 자사(cafe24)에서는 ssl을 유료로 제공하고, 신청하면 ‘서비스신청 -> 인증서 발급및 설치 -> 적용’ 순의 절차로 진행을 마무리한다. 

(3) cafe24가 진행하는 단계는 인증서 발급및 설치단계인 ‘https://..’ 를 웹사이트의 접속주소로 사용할 수 있도록 도메인을 설정해 주는 단계까지만 말하는 것이며,  ‘https://…’ 웹사이트 접속주소로 포워딩(혹은 리다이렉트) 작업(적용단계)까지 의미하는 것은 아니다. 

(4) 그래서 인증서 설치가 완료되면 ‘사이트에 어떻게 적용하라’는 내용을 담아 안내 메일을 자사측(cafe)에서 보내면, 사이트에 최종 적용하는 작업은 온라인사업자측에서 직접 해야한다. ( = 개발자가 동원되어야 한다)




2. SSL설치 완료후 SSL적용하는 방법

cafe24가아닌 클라우드서버 혹은 자사서버 +  apache, nginx, hhvm등을 이용해서 홈페이지를 구성하고있다면 

서버 설정 몇줄만 바꿔(redirect, rewirte) 적용해주면 끝난다. 

그러나 cafe24에 wordpress를 설치해서 홈페이지를 꾸려나가고있다면, 

apache 혹은 nginx설정을 변경하는 작업(서버에 접근할수 없어서)을 진행할 수 없기 때문에 워드프레스위에서 리다이렉트 할 수 있는 방법을 찾아보았다.

– 플러그인 사용 : 장점은 개발자 필요 x, 단점은 모든 플러그인이 그렇지만 어떤게 진짜 좋은 플러그인인지 찾기가 까다롭다. A/B테스트를 충분히 거친 플러그인을 사용하길권장.

( 예시로 찾은 플러그인 : https://srd.wordpress.org/plugins/really-simple-ssl/ ) 

– .htaccess 파일 설정 : wordpress 루트 디렉토리에 링크, 리다이렉트설정과 관련된 파일이다. 
설정 방법은 아래 참고
http://www.inmotionhosting.com/support/website/ssl/how-to-force-https-using-the-htaccess-file




– 테마 혹은 플러그인에 직접 코딩 : javascript 혹은 훅을 이용해서  메인이 로드 될 때 ‘https://”로 redirect될 수 있도록 설정한다.

.htaccess 파일 수정 ( not 멀티사이트 )
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.danini.co.kr/$1 [R,L]
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress








+@




결국 우리가 목표로 하는건 "안전"하다는 증표.
그런데 안전하다고 나타나지 않는 경우가 종종 있음.
ssl설치 혹은 연결은 정상적으로 완료되었으나, 
js파일 css파일 이미지 파일을 로드 해오는 주소가 'http://'로 시작하는 경우에 브라우저는 아직 완전히 안전한게 아니라는 신호를 준다.


* 이런경우 나타나는 현상 : 

  • "https://" 는 정상연결된 것 같은데, '안전함'표시가 잠깐 나타났다가 사라진다.
  • "개발자도구","console"창 열어 살펴보면 "https"관련 에러가 있다.
  •  "크롬브라우저"의 경우 도메인 창 오른쪽에 "느낌표"모양과 왼쪽에 "방패"모양이 나타난다 


* 해결방법?

- 워드프레스 도메인 주소를 변경하듯 변경해주는데, 멀티사이트의 경우라면 조금복잡해진다.

- 멀티사이트아닌경우 : [http://(도메인)/wp-admin]>[설정]>[일반] 접속해서 변경

- 멀티사이트의 경우 : database의 wp-posts, wp-postmeta, wp-options를 기본으로 변경해주어야하는데 추가적으로 설치해준 플러그인이 있으면 또한 변경해주어야 한다.