实战Let’s Encrypt for Nginx on Ubuntu证书自动续期 Auto-renew

值此2019年末,我们综合衡量下决定将站点迁移到AWS新加坡区域,使用独立的Ubuntu实例。放弃Apache改用Nginx。此番变化后,随之而来的好处就是Let’s证书的自动续期变得更容易,网友可以随着以下过程看看实际配置过程:

su root切换到root用户下操作;

add-apt-repository ppa:certbot/certbot安装certbot插件
apt install python-certbot-nginx 安装certbot for Nginx
vim修改nginx需要使用的域名,这里为charflower.com与www.charflower.com,修改如下图所示。其中1和2由certbot自动添加,不用理会。
Y与2同意http到https的重定向
certbot renew用于自动续期
–dry-run用于验证自动续期能否成功,最后将一句话脚本加入到计划任务/etc/cron.d即可(初次使用 crontab -e)。

脚本范例如:

59 23 * * * certbot renew –post-hook “systemctl reload nginx”
每天夜里的23:59执行一次证书更新尝试,有效期小于30天时会更新成功

其中语法格式为:
m h dom mon dow command
0-59 0-23 1-31 1-12 0-7 command
m: 表示分钟| h: 表示小时| dom: 表示日期| mon: 表示月份| dow: 表示星期| command: 预执行的命令
* 代表所有值
/ 代表“每”
– 代表范围
, 分割数字
验证一句话脚本有效性
查看计划任务列表