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すると強制的にアップデートするはずだが、アップデート回数の上限に達したとエラーが出たのでスクリプトから外した。
以下のサイトを参考にした。