当前位置:论坛首页 > Linux面板 > 求助

【已解决】续签Let's Encrypt证书 失败

发表在 Linux面板2021-11-15 11:16 [复制链接] 18 22803

Traceback (most recent call last):  File "/www/server/panel/class/acme_v2.py", line 1456, in renew_cert    write_log('|-本次跳过域名:{},因连续3次续签失败,不再续签此证书'.format(self._config['orders'][index]['domains']))KeyError: None 微信截图_20211115111527.png
使用道具 举报 只看该作者 回复
发表于 2021-12-2 16:26:47 | 显示全部楼层
本帖最后由 befantasy 于 2021-12-2 16:31 编辑

官方团队回复的真是胡说八道。
也遇到了这个问题半年了,两次续签失败,搜遍全网也没找到个有用的解决方案。搜到这里给的官方解答更是离谱。

最后自己折腾解决了,共楼主参考。
1、py脚本自动续签失败,看log是3次续签失败导致的脚本中断。可是每次宝塔界面却可以手动续签。所以排除网络问题,配置问题。
2、研究了一下/www/server/panel/class/acme_v2.py这个脚本,log中提示的1456行, if self._config['orders']['retry_count'] >= 3: 看起来是个检测重试次数retry_count的语句。
3、寻找这个retry_count的计数值是在哪里保存,在py脚本的62行找到了:    _conf_file = 'config/letsencrypt.json' 。
4、编辑/www/server/panel/config/letsencrypt.json,在里面的order段落中,找到了好几个证书续签的条目。其中有几个是之前删过的域名(看domains和save path),并且retry_count=3。
5、备份配置文件,把这几个retry_count=3的证书续签的order删掉再次运行py脚本,问题解决。
6、如果还有问题,可以把所有order都删掉,然后去宝塔的ssl面板中删除证书,再重新申请即可。

综上所述,问题的所在应该是原来在宝塔ssl证书界面的某些操作,导致无效的续签信息保存在了/www/server/panel/config/letsencrypt.json当中,宝塔的校验逻辑又不缜密,web界面删除站点或者证书时,没有将letsencrypt.json中相应的续签信息删掉,导致配置文件中一直存在retry_count=3的条目。acme.py脚本执行时,检测到retry_count超出限制,脚本中断执行。
使用道具 举报 回复 支持 4 反对 0
发表于 2021-12-8 16:22:36 | 显示全部楼层
这个主要问题其实是
/www/server/panel/class/acme_v2.py  第1456行的这句话变量问题
self._config['orders'][index]['domains'] -> self._config['orders'][i]['domains']

把index 改成 i 就可以了
bt.jpg




使用道具 举报 回复 支持 2 反对 0
发表于 2024-12-27 15:00:24 | 显示全部楼层
2024.12.27 续签失败,前面的方法都用过了。
这个问题又出现了。
使用道具 举报 回复 支持 1 反对 0
发表于 2021-11-15 11:19:18 | 显示全部楼层
续签的条件是您当时申请证书的时候,是哪几个域名的证书,然后续签的时候也就依据当时申请证书的时候的域名进行续签,续签的时候不允许有失败的域名,如果有失败的域名,那么整个续签任务也会失败。您如果不想现在没有使用的域名续签,需要关闭SSL,重新申请当前的。
使用道具 举报 回复 支持 反对
发表于 2021-11-15 11:28:00 | 显示全部楼层
堡塔安全赤井秀一 发表于 2021-11-15 11:19
续签的条件是您当时申请证书的时候,是哪几个域名的证书,然后续签的时候也就依据当时申请证书的时候的域名 ...

你这句话我没太明白呢。
意思是后面修改了非Let's Encrypt证书 自动续签就会失败?
使用道具 举报 回复 支持 反对
发表于 2021-11-15 11:42:02 | 显示全部楼层
無無無無 发表于 2021-11-15 11:28
你这句话我没太明白呢。
意思是后面修改了非Let's Encrypt证书 自动续签就会失败? ...

比如,使用了let's encrypt如果出现删除或添加新域名操作,可能就续签失败了,这种情况你关闭SSL,重新申请一个就可以了
使用道具 举报 回复 支持 反对
发表于 2021-11-15 12:21:25 | 显示全部楼层
堡塔安全赤井秀一 发表于 2021-11-15 11:42
比如,使用了let's encrypt如果出现删除或添加新域名操作,可能就续签失败了,这种情况你关闭SSL,重新申 ...

我把所有使用let's encrypt证书的网站都关闭SSL,再证书夹里面也都删了,空的时候 执行任务也是报这个错,重新申请了证书 还是报这个错。
使用道具 举报 回复 支持 反对
发表于 2021-11-15 14:33:17 | 显示全部楼层
無無無無 发表于 2021-11-15 12:21
我把所有使用let's encrypt证书的网站都关闭SSL,再证书夹里面也都删了,空的时候 执行任务也是报这个错 ...

切换面板到最新测试版本再申请证书试试
使用道具 举报 回复 支持 反对
发表于 2021-12-8 15:35:21 | 显示全部楼层
befantasy 发表于 2021-12-2 16:26
官方团队回复的真是胡说八道。
也遇到了这个问题半年了,两次续签失败,搜遍全网也没找到个有用的解决方案 ...

感谢您的反馈,这边将您的处理过程反馈开发了。
使用道具 举报 回复 支持 反对
发表于 2021-12-8 16:30:32 | 显示全部楼层
宝塔用户_ywiwsn 发表于 2021-12-8 16:22
这个主要问题其实是
/www/server/panel/class/acme_v2.py  第1456行的这句话变量问题
self._config['orders ...

这个我们上个月已经修复了
使用道具 举报 回复 支持 反对
发表于 2022-2-11 21:46:57 | 显示全部楼层
本帖最后由 宝塔用户_cjiqru 于 2022-2-11 21:56 编辑
宝塔用户_ywiwsn 发表于 2021-12-8 16:22
这个主要问题其实是
/www/server/panel/class/acme_v2.py  第1456行的这句话变量问题
self._config['orders ...

赞!用宝塔面板几年了,这个续签没有正常使用过,最新版本不知道怎样。另外你说的index改为i,刚看这个文件的源码,里面已经是i了
使用道具 举报 回复 支持 反对
发表于 2022-3-12 22:51:09 | 显示全部楼层
谢花郎 发表于 2021-12-8 15:35
感谢您的反馈,这边将您的处理过程反馈开发了。

这个有解决?我今天还有这个问题
使用道具 举报 回复 支持 反对
发表于 2022-3-14 11:58:51 | 显示全部楼层
mx8 发表于 2022-3-12 22:51
这个有解决?我今天还有这个问题

已经修复了,如果是老版本的话会有这个问题,建议更新到最新版本面板使用
使用道具 举报 回复 支持 反对
发表于 2022-3-31 01:08:21 | 显示全部楼层
befantasy 发表于 2021-12-2 16:26
官方团队回复的真是胡说八道。
也遇到了这个问题半年了,两次续签失败,搜遍全网也没找到个有用的解决方案 ...

确实这样就解决了
之前删除的几个域名
还有之前用let 后期换成别的证书了

不知道为什么这个文件还有 就一直申请失败

删除这个文件 letsencrypt.json
然后关闭想申请的网站的证书
重新申请let证书
这个文件会重新生成的 就行了
使用道具 举报 回复 支持 反对
发表于 2022-7-12 10:59:42 | 显示全部楼层
befantasy 发表于 2021-12-2 16:26
官方团队回复的真是胡说八道。
也遇到了这个问题半年了,两次续签失败,搜遍全网也没找到个有用的解决方案 ...

正解!也遇到不能续签的同样问题,一直提示:因连续5次续签失败,不再续签此证书(可尝试手动续签此证书,成功后错误次数将被重置);
手动续签成功了,可还是一直提示这个错误;

无奈下,删除文件letsencrypt.json后,重新手动申请SSL,之后一切正常;

根源就在这个letsencrypt.json文件;
使用道具 举报 回复 支持 反对
12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

立即付费处理

工作时间:09:00至24:00

快速回复 返回顶部 返回列表