certbot可以快捷获取let’s encrypt的免费证书,一个命令很是方便。但是证书的有效期只有90天,有的时候忘记或者不方便更新的时候,突然出现无法访问还是很尴尬的。
crontab 对证书进行自动更新
使用crontab -e
增加两条定时任务
20 4 21 * * /home/certbot-auto renew -v
40 4 21 * * /usr/sbin/nginx -t && killall nginx && /usr/sbin/nginx
查看当前证书情况
certbot certificates
查看当前的所有的证书信息,会得到如下信息,其中Expiry Date
就是有效期。
打开/etc/letsencrypt/renewal找到对应网站证书的配置文件,并编辑。
可以看到第一行,renew_before_expiry = 30 days
,表示距离证书到期时间在30天以内,执行更新证书的命令./certbot-auto renew -v
才会更新证书。