说明:最近忙着给一个PC站做移动端的页面适配,因此比较少来(喵斯基部落)。临时想翻翻之前写的笔记,结果发现Let's Encrypt的SSL证书到期了,证书管理用的是acme.sh
脚本,自动续期失败很是无语。
常规操作就是先执行crontab -l
调出任务列表中的自动续期命令,我们手动运行进行证书续期
acme.sh --cron --home "/root/.acme.sh"
这时屏幕打印报错信息如下:
[Thu Aug 6 01:24:56 CST 2020] Getting webroot for domain='moewah.com'[Thu Aug 6 01:24:56 CST 2020] Getting webroot for domain='*.moewah.com'[Thu Aug 6 01:24:56 CST 2020] Adding txt value: fSBNKmxqZx07MDI7BN8GOjGYqWUaVXEuM_fEol33Bs4 for domain: _acme-challenge.moewah.com[Thu Aug 6 01:24:58 CST 2020] Error add txt for domain:_acme-challenge.moewah.com[Thu Aug 6 01:24:58 CST 2020] Please add '--debug' or '--log' to check more details.
按照提示我加上--debug
看看详细的信息
acme.sh --cron --home "/root/.acme.sh" --debug
找到了关键的错误信息,如下图所示
根据链接找到了阿里云错误中心得到如下的解释:
用户时间和服务器时间不在 15 分钟内...检查下服务器时间,原来时间没有同步上。我们先同步一下服务器的时间(顺便悄咪咪的加入到cron任务中):
ntpdate -u ntp.api.bz
这时再执行续期命令成功搞定。