如何自动更新 nginx 的 ZeroSSL 证书?我尝试使用 ZeroSSL 机器人,但它使用的是 Lets Encrypt 而不是 ZeroSSL 的证书,但我无法使用 Lets Encrypt 证书,因为我需要让它被旧版本的 Java 8 信任(并且 Lets Encrypt 从 Java 8u101 开始受支持)。我尝试按照 @Daniel B 的建议使用 acme.sh,但它给了我一个错误。
答案1
看起来 ZeroSSL 机器人(实际上只是 Certbot 的一个包装器)有一个小错误,导致所需参数无法生效。
ZeroSSL 使用 ACME 协议,就像 Let's Encrypt 一样。
有一个等待修复错误的拉取请求。您可以通过获取 PR 源立即使用修复版本。
或者,我建议看看acme.sh,一款不使用 Python 的更紧凑的客户端。您可以找到使用 acme.sh 的 ZeroSSL 指南在这里。归根结底(因为您已经有一个 ZeroSSL 帐户):
得到acme.sh
在以下位置生成您的 EAB 凭证:https://app.zerossl.com/developer
登录:
acme.sh --register-account --server zerossl --eab-kid xxxxxxxxxxxx --eab-hmac-key xxxxxxxxx
获取证书:
acme.sh --issue -d example.com --nginx /etc/nginx/nginx.conf
或者
acme.sh --issue -d example.com --nginx /etc/nginx/conf.d/example.com.conf
acme.sh已经设置为使用 cron 作业来更新您的证书。