Let's Encrypt自動更新

先月25日に行ったLet’s Encrypt対応。

仕上げに証明書の自動更新手順を試行錯誤していたところ、

The rate limit is 5 certs in 7 days per domain

と怒られた。どうやら1ドメインにつき週に5証明書しか発行できない制限があるらしく、wwwとmailの2サーバを設定した結果、速攻で上限に引っかかったようだ。

…という不手際で間が空いてしまったが、letsencrypt-auto renew一撃で証明書が更新できる事が確認できたので、apacheのrestartまでセットにしたスクリプト /usr/local/bin/letsencrypt-renew を作成。

yano@vps:~$ cat `/usr/local/bin/letsencrypt-renew`
#!/bin/sh
/opt/letsencrypt/letsencrypt-auto renew --force-renew \
    --webroot --webroot-path=/var/www/html --no-self-upgrade;
/usr/sbin/apachectl restart;
yano@vps:~$

最後に毎月末の11時59分に証明書を自動更新するよう/etc/cron.d/letsencrypt を設定。

yano@vps:~$ cat `/etc/cron.d/letsencrypt`
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user  command
59 11 28-31 * * root if [ $(date -d 'tomorrow' +\%d) -eq 1 ]; then `letsencrypt-renew` > /dev/null;fi
yano@vps:~$

なるほど、「明日が1日」という条件は"目から鱗"だったよ。

これでひと安心。

参照

INTERNET Watch http://internet.watch.impress.co.jp/

Let’s Encrypt https://letsencrypt.org/

Let’s Encrypt 総合ポータル https://letsencrypt.jp/

Qiita http://qiita.com/

GitHub - letsencrypt/letsencrypt https://github.com/letsencrypt/