我有一个使用 letsencrypt 证书运行的 nginx 网络服务器,通过 certbot renew 进行更新。全部在 Ubuntu 14.04 上。自 2021 年 10 月 1 日起,我不断收到来自 cron 的电子邮件,称证书无法续订:
Attempting to renew cert (joov.de) from /etc/letsencrypt/renewal/joov.de.conf produced an unexpected error: ("bad handshake: Error([('SSL routines', 'SSL3_GET_SERVER_CERTIFICATE', 'certificate verify failed')],)",). Skipping.
All renewal attempts failed. The following certs could not be renewed:
/etc/letsencrypt/live/joov.de/fullchain.pem (failure)
1 renew failure(s), 0 parse failure(s)
我该如何修复这个问题而不手动升级一半的系统?
答案1
问题是根证书 DST_Root_CA_X3.crt 已于 2021 年 9 月底到期。
解决方案是禁用此证书。这对我在 Ubuntu 14.04 上有效:
sudo apt-get update
sudo apt-get upgrade
sed -i 's/\(.*DST_Root_CA_X3.crt\)/!\1/' /etc/ca-certificates.conf
update-ca-certificates
certbot renew
该问题/答案在评论中包含提示(实际答案不起作用):