KUSANAGIはバージョン7.8からHTTP/2に対応しました。
今回は、古いバージョンからHTTP/2に対応する方法についてまとめました。
HTTP/2とは
HTTP/2とは、HTTPという通信の新しい規格です。従来はHTTP/1.1という規格を使われていたのですが、読み込み速度などいくつかの欠点を抱えていました。それらの欠点を克服したのが、HTTP/2という新しい規格です。
よくわからないという場合は、HTTP/2にしておくと、ページの読み込みが速くなると思っておけばよいです。
対応方法
下記の記事を参考にしています。
KUSANAGIインストールしてプロビジョニングしたときのバージョンが7.8以上の時は、これらの作業をする必要ありません。
しかし、バージョンが7.8未満のときは手動で設定をする必要があります。
サーバーの設定
最初にコマンドを実行してKUSANAGIの更新をします。
# yum update kusanagi*
次に設定の書き換えをします。
Nginxの設定ファイルを書き換えます。
/etc/nginx/conf.d/プロビジョニングの設定値_http.conf
変更前
location ~* /\. {
deny all;
}
変更後
location ~* /\.well-known/ {
allow all;
}
location ~* /\. {
deny all;
}
変更前の設定の手前に、新しい設定を追記します。
/etc/nginx/conf.d/プロビジョニングの設定値_ssl.conf
変更前
location ~* /\. {
deny all;
}
変更後
location ~* /\.well-known/ {
allow all;
}
location ~* /\. {
deny all;
}
変更前の設定の手前に、新しい設定を追記します。
Apacheの設定を書き換えます。
/etc/httpd/conf.d/プロビジョニングの設定値_ssl.conf
<VirtualHost *:443>
直下に以下を追加します。
Protocols h2 http/1.1
そして、設定を書き換えます。
変更前
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
変更後
SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2
SSLCipherSuite 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:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK
これで設定の書き換えは終了です。
SSL証明書の設定
次に、SSL証明書の設定をします。ここでは、Let’s Encryptというツールを使って設定をします。
このコマンドを実行すれば自動的にSSL証明書が作成されてサーバーに配置されます。
# kusanagi update cert
WordPressの設定
最後に、WordPressの設定を書き換えます。
WordPressにログインして、ダッシュボードにアクセスします。
次に、「設定」から「一般」にアクセスします。
そうすると、「WordPressアドレス」と「サイトアドレス」の2つの設定があるので、その2つの先頭の「http://」という部分を「https://」に書き換えて設定を保存します。
今後の行動
SSL証明書は、期限があります。なので、期限が切れる前に更新しないといけません。
今回使用したLet’s Encryptというツールで発行される証明書は期限が90日です。
期限が切れない内に、下記のコマンドを実行して更新する必要があります。
# kusanagi update cert
更新すると、期限が更新した日から90日になります。
さいごに
これで、KUSANAGIをHTTP/2に対応させることができました。