取得したSSLサーバ証明書server.crtと中間証明書intermediate.crtを、1つのファイルに連結してKUSANAGIに設置します。
具体的には、上部にserver.crtの内容を、下部にintermediate.crtの内容が続くように記述して、中間証明書入りのSSLサーバ証明書「connected.crt」ファイルを作成します。
-----BEGIN CERTIFICATE----- MIIFjTCCBHWgAwIBAgIQNP91sDHHDXnuA0Ah99PD3TANBgkqhkiG9w0BAQsFADBC (略) hsFI9+pXMeJhRhiiZr4qiriPlfN1u4vJKZLDJvhSLgM2 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIETTCCAzWgAwIBAgIDAjpxMA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNVBAYTAlVT (略) Px8G8k/Ll6BKWcZ40egDuYVtLLrhX7atKz4lecWLVtXjCYDqwSfC2Q7sRwrp0Mr8 2A== -----END CERTIFICATE-----
作成したconnected.crtと、最初に作成した秘密鍵のserver.keyを、/etc/kusanagi.d/ssl/へ保存します。なお、本稿では便宜上、connected.crtとserver.keyというファイル名で説明しますが、バーチャルホストなどでプロファイルが複数ある場合には、プロファイルごとに適宜異なるファイル名で保存してください。
NginxとApacheのSSL用の設定ファイルはプロビジョニング時に作成されます。KUSANAGIでWordPressのプロビジョニングが完了しているならば、Nginxは/etc/nginx/conf.d/に、Apacheは/etc/httpd/conf.d/に「[プロファイル名]_ssl.conf」が作成されています。この設定ファイルのSSLサーバ証明書と秘密鍵の指定に関する箇所を次のように書き換えます。
(略) ssl_certificate /etc/kusanagi.d/ssl/connected.crt; ssl_certificate_key /etc/kusanagi.d/ssl/server.key; (略)
(略) SSLCertificateFile /etc/kusanagi.d/ssl/connected.crt SSLCertificateKeyFile /etc/kusanagi.d/ssl/server.key (略)
以下のコマンドで設定を反映させます。
kusanagi ssl --https redirect --hsts weak
これで、商用SSLサーバ証明書によるWordPressのHTTP/2、常時SSL環境が完成しました。
なお、今回は「新規」にWordPressサイトを常時SSLで構築し、運用を開始する手順を説明しましたが、WordPressサイトをHTTPプロトコル環境で運用している既存の環境へ常時SSLを適用したい場合には注意が必要です。こちらは前回も説明しましたが、例えば、運用中のWordPressサイトのWebページからHTTPプロトコルでの外部リソースの呼び出しがあり、それがデータベースやファイル内に埋め込まれているような環境の場合は、当該箇所も別途個別に修正しなければなりません。
次回は、この「既にHTTPプロトコルで稼働しているWordPressサイトを、常時SSL化する」場合の修正テクニックを解説する予定です。
1971年栃木県生まれ。中学1年生で電波新聞社の『マイコンBASICマガジン』にプログラムを寄稿して以来、プログラミング歴30年。早稲田大学法学部を卒業後、野村證券に入社。公認会計士第二次試験合格。2002年にプライム・ストラテジー株式会社を設立、代表取締役に就任する。2005年にPT. Prime Strategy Indonesiaを設立して以来、アジアでのITビジネスに携わる。執筆監訳書籍に『WordPressの教科書』シリーズ(SBクリエイティブ)、『詳解 WordPress』『WordPressによるWebアプリケーション開発』(ともにオライリー・ジャパン)などがある。
Copyright © ITmedia, Inc. All Rights Reserved.