ウェブサーバ関連のTODO(2017年1月7日版)、での一項目、SSL化に着手。
まずは、WordPressのサイト2つ。
参考にしたのは、以下。
- WordPressをhttpからhttpsにSSL化した全手順まとめ(エックスサーバー環境)
- WordPressサイトをhttpsにした際にハマったこと(Lets Encrypt) – hello-world.jp.net
全部をフォローできてませんが、エラーはとりあえず出ていないのは確認。
SSL証明書の入手
2つのサイトともに、let’s encryptでSSL証明書を入手。サーバにSSHでアクセスして、以下のコマンドを実行。
certbot certonly --webroot --agree-tos -w [ドキュメントのPATH] -m [メールアドレス] -d [ドメイン名]
SSL証明書は、/etc/letencrypt/live/[ドメイン名]/に保存されました。
Nginxの設定ファイルの修正
HTTPSで接続するので、Nginxの設定ファイルの修正が必要。
ssl.confを作って、共通設定をする。
ssl_session_cache shared:SSL:30m; ssl_session_timeout 30m; ssl_dhparam /etc/ssl/private/dhparam.pem; ssl_stapling on; ssl_stapling_verify on; ssl_prefer_server_ciphers on; ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
サーバごとの設定ファイルには、以下を追記。
server { listen 80; server_name domain.com www.domain.com; # HTTP へのアクセスは全て HTTPS へリダイレクト return 301 https://domain.com$request_uri; } # HTTPS server server { listen 443 ssl http2; server_name domain.com; ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem; # HTTPS のみでサービスを提供する場合にだけ設定します add_header Strict-Transport-Security "max-age=31536000" always;
Nginxの再起動
systemctl restart nginx.service
エラーが出なければ大丈夫。
自分は、一部SSL化したサイトが既にあったため、ssl.confの設定と重複すると言って怒られました。
WordPressのサイトURL変更
管理者メニューで、設定>一般の、WordPress アドレス (URL)、サイトアドレス (URL)を、http://〜からhttps://〜に修正。
サイト内リンクのURLの変更
すでに作成した記事の中で、http://domain.comとなっているところを、https://domain.comに変更する。これは該当箇所が多数あるのでツールを使いました。
具体的には、Search Regexというプラグインです。一括置換してしまいました。
外部リンクのURLの変更
上記のサイト内リンクのURL変更と同じようにすれば良いのですが、これはリンク先によるので一括置換は難しいかも。YouTubeなんかは一括でやっちゃいました。
Google Analyticsなどの変更
Google Analytics、Google Search Consoleなど、解析ツールなんかはURLの変更に対応させる必要があります。自分の場合は、Piwikも対応させました。
評価結果
SSL化した2つのサイトのうち、ひとつは、このブログです。
SSL Server Test (Powered by Qualys SSL Labs)でチェックしました。
うまくいったようです。
とりあえずは、この辺までです。
コメント