前回の記事までの設定を行えばブログ自体は始められますが、前回の設定だけではhttps接続ができません。https通信ができなくともブログ運営自体には支障はありませんが、よりセキュアな通信とGoogle検索で少しでも表示を上位にするために是非設定しておきましょう。
WordPress導入の前回までの記事は以下を参照してください!
AWSの設定
セキュリティグループ設定
現状のままではAWS上でhttps接続が許可されていないので、SSL通信を許可する設定を行います。
「EC2ダッシュボード」画面の左側のセキュリティグループリンクをクリック。画面中央の一覧の中で、グループ名が「KUSANAG for AWS -Wordpress」のレコードのチェックボックスにチェックを入れます。画面下部の「インバウンドタブ」をクリックして表示された欄の、「編集」ボタンをクリックします。
ポップアップ表示される「インバウンドルールの編集」画面で、「ルールの追加」ボタンをクリックしましょう。追加されたレコードの「タイブ」ドロップダウンで「HTTPS」を選択して「保存」をクリックします。
nginxの設定
以上の設定でブログのhttps通信が有効になりました。続いてhttp通信を自動的にhttps通信に置き換えるようにnginxの設定をしていきましょう。
まず「ターミナル」か「TeraTerm」でAWS上のEC2に接続してください。
$ ssh -i /path/to/*.pem centos@52.69.22.113
続いてnginxのhttps用の設定ファイルを編集していきます。”maru-life”の部分は前回の記事のプロビジョニングで指定した名前になります。
$ sudo vi /etc/nginx/conf.d/maru-life_ssl.conf
以下の部分の「#add_header Strict-Transport-Security “max-age=31536000;”;」の「# 」のみを削除してコメントアウトを解除します。
location ~ [^/]\.php(/|$) {
...
add_header X-F-Cache $upstream_cache_status;
add_header X-Signature KUSANAGI;
# add_header Strict-Transport-Security "max-age=31536000;";
}
その後に「add_header Strict-Transport-Security “max-age=31536000;includeSubDomains;preload”;」のように書き換えます。”max-age=31536000;”の後ろの「”」の前に「includeSubDomains;preload」を加えることになります。
文字にすると複雑ですが、以下のようになれば大丈夫です。
add_header Strict-Transport-Security "max-age=31536000;includeSubDomains;preload";
編集が終わりましたらnginxを一度再起動します。
$ sudo systemctl restart nginx
自分のブログに2回httpでアクセスすると自動的にhttps通信になるはずです。
HSTS登録
上記まででブラウザにhttps通信をするようにできましたが、まだ1回目のアクセスではhttp通信のままです。「HSTS preload list」に登録して、1度目のアクセスからhttps通信ができるようにしましょう。
nginx設定
「HSTS preload list」に登録するためには、httpページがhttpsページにリダイレクトされていなければならないため、先にnginxの設定を変更します。
今回はhttp通信の設定を変更するためhttp用の設定ファイルを編集します。EC2に接続した状態で
$ sudo vi /etc/nginx/conf.d/maru-life_http.conf
上から12行目に「# rewrite ^(.*)$ http://52.69.22.113$request_uri permanent; # SSL ONLY
」という部分があるので「#」を削除して、コメントアウトを解除します。これですべてのhttpページは対応するhttpsページにリダイレクトされるようになります。
HSTS preload list登録
リダイレクト設定だけでは通信が2回発生してしまうので最初からhttps通信になるように「HSTS preload list」に登録していきます。
「HSTS preload list」にアクセスして、ドメインを入力、「Check status and eligibility」ボタンをクリックします。
「Submit」画面が表示されるので、すべてにチェックが入っていることを確認して「Submit ドメイン名 to HSTS preload list」ボタンをクリック。
まとめ
以上でHSTSの登録は終わりです。ここまでくれば、あとは好きなようにブログライフを始めることができます。次回はWordpressのおすすめ初期設定について公開したいと思います。