soarli

宝塔面板 9.3 以上版本 SSL 证书自动续签任务消失的解决方案
本文由AI辅助撰写,可能存在不准确之处,请读者注意甄别!⚠️ 问题背景近期不少站长将宝塔面板(Baota Pane...
扫描右侧二维码阅读全文
28
2025/12

宝塔面板 9.3 以上版本 SSL 证书自动续签任务消失的解决方案

本文由AI辅助撰写,可能存在不准确之处,请读者注意甄别!

⚠️ 问题背景

近期不少站长将宝塔面板(Baota Panel)升级到 9.3 版本后,发现了一个令人困惑的变化:在“计划任务”的默认列表中,找不到熟悉的 “SSL 证书自动续签” 选项了。

SSL 证书的有效期通常只有 3 个月(Let's Encrypt),如果不能自动续签,网站随时面临证书过期、无法访问或浏览器报红的风险。

实际上,这并不是功能被删除了,而是我们需要手动添加一段 Shell 脚本来调用面板底层的续签程序。

🛠️ 解决方案:手动添加 Shell 脚本任务

既然面板没有预置这个选项,我们可以通过添加自定义 Shell 脚本的方式,完美复刻自动续签功能。

操作步骤

  1. 登录宝塔面板,点击左侧菜单栏的 【计划任务】
  2. 任务类型:选择 Shell脚本
  3. 任务名称:填写 SSL证书自动续签 (或者简单的“续签”,如截图所示)。
  4. 执行周期:建议设置为 每天

    • 时间建议: 选择凌晨业务低峰期,例如 330 分。
    • 注意: 设置为“每天”并不意味着它每天都会强制更新证书。脚本内部有判断机制,只会对即将过期的证书进行续签,未到期的证书会被自动跳过。
  5. 脚本内容:

请直接复制以下命令并粘贴到脚本内容框中:

/www/server/panel/pyenv/bin/python /www/server/panel/class/acme_v2.py --renew=1
  1. 点击 【添加任务】 (或保存编辑)。


🔍 原理解析

这段命令的含义其实很简单:

  • /www/server/panel/pyenv/bin/python:调用宝塔面板内置的 Python 环境(这样做比直接用系统的 Python 更稳定,避免环境依赖问题)。
  • /www/server/panel/class/acme_v2.py:这是宝塔面板处理 ACME 协议(用于申请 SSL 证书)的核心脚本文件。
  • --renew=1:这是传给脚本的参数,明确告知程序执行“续签”操作。

✅ 验证方法

添加完成后,为了确保配置无误:

  1. 在计划任务列表中找到刚才添加的任务。
  2. 点击右侧的 “执行”
  3. 执行完毕后,点击 “日志”
  4. 如果日志中提示“证书未过期,跳过”或“续签成功”,即表示配置成功。

小贴士:即使宝塔官方在后续版本修复或改回了这个菜单入口,保留这个手动的 Shell 脚本任务通常也是安全且有效的。建议升级大版本后都检查一下计划任务,确保 SSL 续签脚本正常运行。

参考资料:

【已解答】SSL证书如何实现自动续签?有没有教程 - Linux面板 - 宝塔面板论坛

【已解决】Let's Encrypt证书没有自动续签 - Linux面板 - 宝塔面板论坛

最后修改:2025 年 12 月 28 日 01 : 29 PM

发表评论