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

推荐订阅源

Cisco Talos Blog
Cisco Talos Blog
阮一峰的网络日志
阮一峰的网络日志
云风的 BLOG
云风的 BLOG
D
Docker
Vercel News
Vercel News
IT之家
IT之家
Recent Announcements
Recent Announcements
Last Week in AI
Last Week in AI
V
Visual Studio Blog
Engineering at Meta
Engineering at Meta
腾讯CDC
Google DeepMind News
Google DeepMind News
I
InfoQ
博客园 - 三生石上(FineUI控件)
Apple Machine Learning Research
Apple Machine Learning Research
The GitHub Blog
The GitHub Blog
博客园 - Franky
The Cloudflare Blog
A
About on SuperTechFans
有赞技术团队
有赞技术团队
Y
Y Combinator Blog
T
Tenable Blog
P
Proofpoint News Feed
Recorded Future
Recorded Future
Security Latest
Security Latest
H
Hackread – Cybersecurity News, Data Breaches, AI and More
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - 聂微东
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Google Online Security Blog
Google Online Security Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Simon Willison's Weblog
Simon Willison's Weblog
The Last Watchdog
The Last Watchdog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
N
News and Events Feed by Topic
TaoSecurity Blog
TaoSecurity Blog
U
Unit 42
The Hacker News
The Hacker News
Martin Fowler
Martin Fowler
T
Threat Research - Cisco Blogs
NISL@THU
NISL@THU
F
Full Disclosure
M
MIT News - Artificial intelligence
人人都是产品经理
人人都是产品经理
Hugging Face - Blog
Hugging Face - Blog
V
V2EX
Project Zero
Project Zero

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,请留言或者联系博主修复。