LNMP签发Let’s Encrypt证书出错的解决办法

今天查看网站证书的时候发现证书没有更新,心生疑惑,因为已经配置了定时更新的crontab任务,正常在5月1号就会更新Let’s Encrypt证书。

查看了一下acme.sh的运行日志,任务已经执行了,但是有报错,提示invalid domain error add text for domain

怀疑是服务器偶尔抽风,结果第二天手动执行了一下,还是一样的结果。

Let’s Encrypt证书更新报错

我估计不是CA服务器的问题,而是程序或者DNS API的问题,这个原先的时候也遇到过,当时也出现了SSL证书更新失败的问题,出现的错误是It seems the CA server is busy now, let's wait and retry. Sleeping 1 seconds.

后面通过升级acme.sh版本成功解决了问题,这次准备如法炮制,先升级一下acme.sh看看:

cd /usr/local/acme.sh

acme.sh --upgrade

然后手动执行任务更新:

"/usr/local/acme.sh"/acme.sh --cron --home "/usr/local/acme.sh"

结果成功更新了证书,看来问题就是这个了,如果再出现报错,就需要查看是不是DNS服务器API的原因。

Let’s Encrypt证书更新成功

因为Let’s Encrypt会不定期更新API,因此acme.sh程序也要及时更新,避免因为版本问题导致SSL证书更新失败。

近期acme.sh调整了默认证书let's encrypt为zerossl,可以通过以下命令切换为默认的CA证书

/usr/local/acme.sh/acme.sh --set-default-ca  --server  letsencrypt