惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
量子位
大猫的无限游戏
大猫的无限游戏
Hugging Face - Blog
Hugging Face - Blog
S
SegmentFault 最新的问题
Blog — PlanetScale
Blog — PlanetScale
月光博客
月光博客
Google DeepMind News
Google DeepMind News
小众软件
小众软件
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
MongoDB | Blog
MongoDB | Blog
B
Blog RSS Feed
博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
Recent Announcements
Recent Announcements
Y
Y Combinator Blog
Microsoft Security Blog
Microsoft Security Blog
雷峰网
雷峰网
Jina AI
Jina AI
酷 壳 – CoolShell
酷 壳 – CoolShell

Mark's Blog - Quchao.net

群晖定时重启 Docker 容器镜像任务 - Mark's Blog 苹果 iPhone 12 Pro Max 内置壁纸 超高清 - Mark's Blog 2020年十大网络用语出炉 - Mark's Blog - Quchao.net 群晖、坚果云、Centos同步小记 - Mark's Blog - Quchao.net 宝塔(BT)面板安装 AList 阿里云盘列表程序 - Mark's Blog CRON表达式速成指南 - Mark's Blog - Quchao.net 斐讯 N1盒子ArmBian 密码重置小记 - Mark's Blog 中国程序员容易发音错误单词指南 - Mark's Blog - Quchao.net 生活模仿艺术 - Mark's Blog - Quchao.net
宝塔面板无法自动续签 SSL 问题解决方法 - Mark's Blog
博主: Mark · 2024-08-28 · via Mark's Blog - Quchao.net
  1. 首页
  2. 正文  
  3. 分享到:

前言

今天网站突然提示 SSL 过期,宝塔不是可以自动续期吗?貌似之前经常需要手动去续,带着这个疑惑分了下是什么问题?接下来就是分析过程了。


分析

仔细看了一下日志,应该是是acme_v2的脚本问题。

|-共需要续签 1 张证书
|-正在续签第 1 张,域名: ['www.quchao.net']..
|-正在创建订单..
|-正在获取验证信息..
|-正在验证域名..
|-正在发送CSR..
|-正在下载证书..
Traceback (most recent call last):
File "/www/server/panel/class/acme_v2.py", line 692, in save_cert
self.sub_all_cert(key_file, pem_file)
File "/www/server/panel/class/acme_v2.py", line 714, in sub_all_cert
if to_cert_init['issuer'] != cert_init['issuer'] and to_cert_init['issuer'].find("Let's Encrypt") == -1:
AttributeError: 'NoneType' object has no attribute 'find'

|-续签成功!

看似成功实际上根本就没有成功。 于是定位到 /www/server/panel/class/acme_v2.py 714 行,新版本已经更新,代码在 781 行,如果不对可以查找一下语句。

if to_cert_init['issuer'] != cert_init['issuer'] and to_cert_init['issuer'].find("Let's Encrypt") == -1:

这条语句出现了问题,应该改成

if to_cert_init['issuer'] != cert_init['issuer'] and str(to_cert_init['issuer']).find("Let's Encrypt") == -1:

即可正常签到。


相关

PS:还有老旧版本会存在一键证书卡死在“正在申请证书”
先执行cd /www/server/panel/class
再执行python acme_v2.py 会发现

Traceback (most recent call last): File "acme_v2.py", line 40, in import dns.resolver ImportError: No module named dns.resolver

此种情况一般是宝塔面板安装时或者安装后有交叉 Python 版本存在,Python2 和 3 的 pip 混乱导致 dnspython 无法安装 此时执行:

pip install dnspython
pip2 install dnspython

后再次申请证书即可正常使用 最新版不存在这个问题,如果上面命令还是无法解决你的问题最好是安装新版宝塔面板为妙。


版权声明:本文为原创文章,版权归 Mark's Blog 所有,转载请注明出处!

本文链接:https://www.quchao.net/BT-SSL.html

友情提示:如果博客部分链接出现404,请留言或者联系博主修复。

如果觉得我的文章对你有用,请随意赞赏

赞赏作者

扫一扫支付

宝塔面板无法自动续签 SSL 问题解决方法

 • 

前言

今天网站突然提示 SSL 过期,宝塔不是可以自动续期吗?貌似之前经常需要手动去续,带着这个疑惑分了下是什么问题?接下来就是分析过程了。


分析

仔细看了一下日志,应该是是acme_v2的脚本问题。

|-共需要续签 1 张证书
|-正在续签第 1 张,域名: ['www.quchao.net']..
|-正在创建订单..
|-正在获取验证信息..
|-正在验证域名..
|-正在发送CSR..
|-正在下载证书..
Traceback (most recent call last):
File "/www/server/panel/class/acme_v2.py", line 692, in save_cert
self.sub_all_cert(key_file, pem_file)
File "/www/server/panel/class/acme_v2.py", line 714, in sub_all_cert
if to_cert_init['issuer'] != cert_init['issuer'] and to_cert_init['issuer'].find("Let's Encrypt") == -1:
AttributeError: 'NoneType' object has no attribute 'find'

|-续签成功!

看似成功实际上根本就没有成功。 于是定位到 /www/server/panel/class/acme_v2.py 714 行,新版本已经更新,代码在 781 行,如果不对可以查找一下语句。

if to_cert_init['issuer'] != cert_init['issuer'] and to_cert_init['issuer'].find("Let's Encrypt") == -1:

这条语句出现了问题,应该改成

if to_cert_init['issuer'] != cert_init['issuer'] and str(to_cert_init['issuer']).find("Let's Encrypt") == -1:

即可正常签到。


相关

PS:还有老旧版本会存在一键证书卡死在“正在申请证书”
先执行cd /www/server/panel/class
再执行python acme_v2.py 会发现

Traceback (most recent call last): File "acme_v2.py", line 40, in import dns.resolver ImportError: No module named dns.resolver

此种情况一般是宝塔面板安装时或者安装后有交叉 Python 版本存在,Python2 和 3 的 pip 混乱导致 dnspython 无法安装 此时执行:

pip install dnspython
pip2 install dnspython

后再次申请证书即可正常使用 最新版不存在这个问题,如果上面命令还是无法解决你的问题最好是安装新版宝塔面板为妙。


版权声明:本文为原创文章,版权归 Mark's Blog 所有,转载请注明出处!

本文链接:https://www.quchao.net/BT-SSL.html

友情提示:如果博客部分链接出现404,请留言或者联系博主修复。