【开发日记】解放双手自动续期SSL证书

发布于:2025-06-29 ⋅ 阅读:(16) ⋅ 点赞:(0)

接上一个文章,如果看不懂本文,请先阅读前文:
【开发日记】利用acme.sh获取免费泛域名SSL证书

1. 自动创建定时任务

通过acme.sh --install-cert命令执行了自动化部署后,acme.sh会通过之前安装的cron自动创建一个定时任务。

使用如下命令查看是否成功创建了定时任务:

 crontab -l

正常结果显示应该是如下所示:

28 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null

解释:

该定时任务会在每天凌晨的0时28分执行/root/.acme.sh/acme.sh --cron --home /root/.acme.sh这个命令。

2. 验证定时执行的命令

查看/root/.acme.sh/域名_ecc文件夹下的域名.conf文件,文件中可以看到Le_RealKeyPath和Le_RealFullChainPath等配置项,表示自动化续期证书时要把证书部署在哪个位置。

对应的就是在执行以下命令时,对应的keyfullchain文件:

acme.sh --install-cert -d example.com --ecc \
  --key-file /docker/nginx/work/crt/example.com.key \
  --fullchain-file /docker/nginx/work/crt/fullchain.cer \
  --reloadcmd "docker restart nginx"

在前文中时的证书部署命令是将keyfullchain相关文件都部署为pem文件,这里是keycer文件,这个无所谓,效果是一样的。

acme.sh会记忆最后一次执行证书部署命令时的参数信息。

3. 修改定时执行的时间

免费证书是90天有效期,我们保证两个月更新一次证书即可,不需要每天一次这么频繁的判断证书是否有效。

把定时任务修改成每周二的凌晨三点检查一次即可。

① 修改定时任务:

crontab -e

② 选择编辑软件:

执行上面命令后会让你选择编辑软件,选择你常用的即可,我这里选择的是vim:

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /bin/ed

Choose 1-4 [1]: 2

③ 修改定时任务为:

0 3 1 * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null

vim的基础用法,进入文件后输入i进入编辑状态,编辑完之后按Esc退出编辑状态,:进入命令状态,在命令状态输入wq保存修改。其他操作可以自行百度一下,这里不多描述了。


网站公告

今日签到

点亮在社区的每一天
去签到