wordpress 의 경우 https 프로토콜을 지원한다.
다만 기본포트인 443 포트만 지원하고 있다.
웹호스팅을 쓸때는 꽁수 ‘ㅅ’a 로 커스텀 포트를 적용하는 법이 필요하다.
먼저 wp-config.php 에 아래와 같이 define 을 설정한다.
/* That’s all, stop editing! Happy blogging. */ 위에 설정해야 한다.
1 2 |
define('WP_HOME','https://www.domain.com:3000'); define('WP_SITEURL','https://www.domain.com:3000'); |
.htaccess 파일에서 아래와 같이 추가를 해준다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{SERVER_PORT} ^80$ RewriteRule ^(.*)$ https://%{SERVER_NAME}:3000/$1 [R,L] RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress # BEGIN StrictTransportSecurity Header always set Strict-Transport-Security "max-age=15552000" # END StrictTransportSecurity |
HSTS 를 설정했기 때문에 구형 브라우져를 사용해서는 접속이 되지 않겠다. 장점으로는 SSL 적용으로 굼떠진 사이트 속도가 빨라진다.
Strict Transport Security (HSTS) 설정을 하면 보안서버가 만료되거나 제거 되었을때 설정된 max-age 까지 클라이언트의 캐쉬가 비워지지 않을경우 접속 되지 않을 수 있으니 주의가 필요하다.
HSTS는 브라우져에 향후 이 사이트에 대한 접속에 일반 http를 사용하지 않겠다는 선언이다.
아파치의 SSL 프로토콜 및 칩퍼는 아래와 같이 설정 하였다.
(ps. 2016-03-11 추가 SSLHonorCipherOrder on: 이설정은 보안 등급이 높은 방식을 우선시 사용한다는 설정이다.)
1 2 3 |
SSLProtocol ALL -SSLv2 -SSLv3 SSLCipherSuite ALL:!aNULL:!eNULL:!EXPORT:!PSK:!MD5:!RC2:!RC4:!DES SSLHonorCipherOrder on |
https://www.ssllabs.com/ssltest/index.html 에서의 테스트 스코어는 A+ 이며 IE6/XP 조합을 지원하지 못하는 설정이다.
IE6/XP 를 지원하기 위해서는 프로토콜 SSLv3만 허용 처리, 그리고 HSTS를 꺼줘야 한다. 다만 등급은 C 로 떨어진다.