log > Let’s Encrypt 設定した

Let’s Encrypt 設定した

Leaving Beta, New Sponsors - Let’s Encrypt - Free SSL/TLS Certificates

Let’s EncryptからBetaがとれたのでdeprode.netをhttpsに対応した。

# インストール
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt

# ヘルプの参照(パッケージが不足している場合はインストールされる)
./letsencrypt-auto --help all

# 証明書の生成
./letsencrypt-auto certonly --webroot -w /var/www/html/deprode.net/ -d deprode.net

# Deffie-Hellman鍵の生成(生成していない場合)
sudo openssl dhparam -out /etc/ssl/private/dhparam.pem 2048

証明書が生成できたので、nginxの設定をして再起動し、httpsで表示できた。その後テストを行ったが、この時点ではCだった。

SSL Server Test (Powered by Qualys SSL Labs)

そのため、MozillaによるWebサーバのSSL設定ジェネレータを参考にして設定し直した。(DH鍵はこの時点で生成した。)

Generate Mozilla Security Recommended Web Server Configuration Files

その後再びテストを行い、A+を確認した。また、crontabで証明書の自動更新を設定した。(./letsencrypt-auto renew --force-renew && sudo service nginx restartで証明書が更新できるので、crontab用にパスなどを変更し、cronを設定した。)


追記:2016-05-12

ユーザのcronだとsudoで失敗するので、/etc/cron.daily/に以下のスクリプトを登録した。(手抜きなので、公式のGetting Started にあるスクリプトを参考にした方がよい。)

#!/bin/bash

cd /home/deprode/letsencrypt

./letsencrypt-auto renew --webroot -w /var/www/nginx/deprode.net/

service nginx reload

スクリプトをchmodで実行可能にすることを忘れずに。

追記:2016-5-18

実行時に–force-renewすると強制的にアップデートするはずだが、アップデート回数の上限に達したとエラーが出たのでスクリプトから外した。


以下のサイトを参考にした。