YANO's digital garage

Copyright ©YANO All rights reserved. https://www.bravotouring.com/~yano/

Last-modified: 2024-04-17 (水)


[一語一絵/IT系]

Let's Encrypt自動更新 / 2016-03-11 (金)

先月25日に行った[External]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/
証明書を無料で発行、HTTPSの導入を支援する「Let's Encrypt」2015年夏開始 2014年11月19日
ファーストサーバ、無料SSL証明書「Let's Encrypt」の取り扱いを開始 2016年2月24日
●Let's Encrypt https://letsencrypt.org/
Let's Encrypt Launch Schedule 2015年6月16日
●Let's Encrypt 総合ポータル https://letsencrypt.jp/
Let's Encrypt の使い方
ユーザーガイド
●Qiita http://qiita.com/
testコマンドとcronを組み合わせ、月末にバッチを動かす 2013年6月7日
●GitHub - letsencrypt/letsencrypt https://github.com/letsencrypt/