Let's Encryptのサーバ証明書でhttps対応サイトにしてみた
Let's Encryptのサーバ証明書でこのkanpapa.comをhttps対応サイトにしてみました。
Let's Encryptは無償でSSL/TLSサーバー証明書の発行を行ってくれるサービスです。
SSL/TLS通信を行うためにはサーバー証明書を準備しなければなりませんが、通常はサーバー証明書は有償で発行していて、そのサーバの運営者情報まで確認できます。Let's Encryptで作成したサーバ証明書では運営者情報までは保証してくれません。このためサーバ証明書情報を確認すると「検証され信頼できる運営者情報はありません」となりますが、接続先が正しいサーバであることは証明でき、通信内容もSSL/TLSで暗号化されます。
サーバ証明書の作成方法はQuick Start Guideにも説明されていますが、まずはサーバー証明書の発行に必要なデータをホームディレクトリに持ってきます。
$ cd $ git clone https://github.com/letsencrypt/letsencrypt
一旦httpdを停止します。
$ sudo /sbin/service httpd stop Stopping httpd: [ OK ] $
作業ディレクトリに移動して、サーバ証明書の作成コマンドを実行します。
$ cd letsencrypt $ ./letsencrypt-auto certonly --standalone -d kanpapa.com
途中メニュー画面が表示されますので指示通り入力します。(画面のキャプチャを忘れました・・)
メールアドレスを入力します。
Enter email address (used for urgent notices and lost key recovery) (メールアドレスを入力)
続いて利用規約の確認です。
Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf. You must agree in order to register with the ACME server at https://acme-v01.api.letsencrypt.org/directory
<Agree> <Cancel>
(了承する場合は、Agreeを選択)
処理が進み、次のメッセージが表示されれば、正常にサーバ証明書の作成が完了しています。
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/www.kanpapa.com/fullchain.pem. Your cert will expire on 2016-03-04. To obtain a new version of the certificate in the future, simply run Let's Encrypt again. - If like Let's Encrypt, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
サーバ証明書は/etc/letsencrypt/live/ドメイン名以下のディレクトリにできています。
確認してみましょう。
$ sudo ls /etc/letsencrypt/live/kanpapa.com cert.pem chain.pem fullchain.pem privkey.pem
ここに作成されたサーバ証明書を/etc/httpd/conf.d/ssl.confに組み込みます。
SSLCertificateFile /etc/letsencrypt/live/kanpapa.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/kanpapa.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/kanpapa.com/chain.pem
あとはhttpdを起動すれば、httpsが使えるようになります。
もし、iptableで443を閉じている場合は忘れずに開放しましょう。
しかし、このままだと http:// のパスが残っているところがあるので鍵のマークが表示されない場合があります。このため、MovableTypeの設定やコンテンツのパスをすべて https:// に変更する必要があります。それはまた次回で。