# 宝塔SSL自动续签插件发布:再也不用担心证书过期!
一款专为宝塔面板设计的SSL证书自动续签插件,支持到期前自动续签、多通道告警、站点状态监控。版权:**zuisao.com**
## 一、为什么你需要这个插件?
Let’s Encrypt 免费SSL证书只有 **90天有效期**,宝塔面板虽然提供了一键申请,但**不会自动续签**。很多站长经常忘记手动续签,导致网站突然打不开,用户看到“不安全”的红色警告,严重影响业务和信任。
如果你:
– 管理着多个网站,每个都要手动续签太麻烦
– 记不住证书到期时间,经常到期后才想起
– 希望证书在到期前**自动完成续签**,无需人工干预
– 想在续签失败时**第一时间收到告警**
那么这款插件正是你需要的。
## 二、插件核心功能
✅ **智能续签**
– 每天自动检查所有站点SSL证书的剩余有效期
– 仅当剩余天数 ≤ 你设定的阈值时(例如7天),才执行续签
– 续签成功后自动重载Nginx,新证书立即生效
✅ **灵活的时间控制**
– 可自由设置“提前续签天数”(1~60天)
– 推荐设为7~30天,既有充足的重试缓冲,又不会频繁请求CA
✅ **多渠道告警通知**
– 支持**邮件**告警(需宝塔已配置SMTP)
– 支持**钉钉机器人**、**企业微信机器人** Webhook
– 可设置提前告警天数(例如到期前15天提醒你)
✅ **可视化站点状态**
– 插件首页直接列出所有站点的SSL到期时间、剩余天数、状态
– 支持手动刷新和立即续签
✅ **完整的日志记录**
– 所有续签操作、错误信息都记录在 `/var/log/ssl_auto_renew/` 目录
– 插件界面可查看最近100条日志,支持一键清空
## 三、插件安装教程(宝塔一键导入)
### 前提条件
– 宝塔面板 **7.x 或更高版本**
– 已开启**开发者模式**(面板设置 → 开发者模式 → 开启)
– 服务器已安装Nginx(Apache暂不支持)
### 步骤1:下载插件安装包
从以下地址下载 `ssl_auto_renew.zip`:
> 下载链接:请在下载按钮处直接下载
或者你可以自己打包:将插件文件夹压缩成zip,确保zip内第一层是 `ssl_auto_renew/` 目录。
### 步骤2:导入插件
1. 登录宝塔面板,进入 **软件商店**
2. 点击右上角 **第三方应用** 选项卡
3. 点击 **导入插件** 按钮
4. 选择下载好的 `ssl_auto_renew.zip` 文件
5. 点击 **确定**,等待导入完成
### 步骤3:安装插件
1. 在 **第三方应用** 列表中找到 **SSL自动续签**
2. 点击 **安装** 按钮
3. 等待安装完成(几秒钟)
### 步骤4:配置插件
1. 安装后点击 **设置** 进入插件界面
2. **基本设置**:
– 勾选“启用自动续签”
– 设置“提前续签天数”(建议7~30天)
3. **告警设置**(可选):
– 勾选“启用告警”
– 设置“提前告警天数”
– 填写告警邮箱或Webhook地址
4. 点击页面上的 **保存设置** 按钮
### 步骤5:添加计划任务(关键步骤)
插件本身不会自动添加计划任务,需要你手动添加一条,确保证书每天被检查。
1. 宝塔左侧菜单 → **计划任务**
2. 点击 **添加计划任务**
3. 配置如下:
– 任务类型:`Shell脚本`
– 任务名称:`ssl_auto_renew`
– 执行周期:`每天`,建议时间 `03:00`
– 脚本内容:
“`bash
/www/server/panel/pyenv/bin/python /www/server/panel/plugin/ssl_auto_renew/ssl_renew.py
“`
– 执行用户:`root`
4. 点击 **添加**,然后可以点击 **执行** 测试一次
### 步骤6:验证是否正常工作
– 进入插件界面,点击 **刷新状态**,应该能看到所有站点的SSL到期信息
– 点击 **立即续签**,如果证书还远未到期,会提示“无需续签”
– 查看 **续签日志**,应有正常记录
– 等待计划任务自动执行后,检查 `/var/log/ssl_auto_renew/renew.log`
## 四、使用说明
### 首次申请证书的建议
为了让自动续签能够成功,**首次申请证书时必须使用DNS验证方式**,并配置好DNS服务商的API密钥:
– **阿里云**:配置 AccessKey,需授予 AliyunDNSFullAccess 权限
– **腾讯云**:配置 SecretId 和 SecretKey
– **Cloudflare**:配置 Global API Key
如果使用文件验证(HTTP-01),自动续签的失败率较高,且不支持通配符证书。
### 续签逻辑说明
– 计划任务**每天执行一次**,但并不会每天都真的去续签
– 插件会先读取每个证书的剩余有效期,只有 ≤ 你设定的“提前续签天数”时,才会调用续签命令
– 续签完成后自动重载Nginx,新证书立即生效
– 如果续签失败,插件会记录错误日志,并根据你的告警配置发送通知
### 手动续签
如果你希望立即续签某个证书(即使未到阈值),可以:
1. 在插件界面点击 **立即续签** 按钮
2. 或者手动执行命令:
“`bash
/www/server/panel/pyenv/bin/python /www/server/panel/class/acme_v2.py –renew=1 –domain=你的域名
“`
## 五、常见问题与解决方案
| 问题 | 解决方法 |
|——|———-|
| **插件安装后看不到设置界面** | 检查是否开启了宝塔开发者模式;重启面板服务 `bt restart` |
| **点击“立即续签”提示失败** | 检查DNS验证配置是否正确;查看 `/var/log/ssl_auto_renew/error.log` 详细错误 |
| **证书到期了却没有自动续签** | 检查计划任务是否添加成功;手动执行脚本测试;确认续签阈值设置是否过小(例如1天) |
| **续签后网站HTTPS仍显示旧证书** | 检查Nginx是否成功重载:`nginx -t && systemctl reload nginx`;清除浏览器缓存 |
| **邮件告警收不到** | 确认宝塔面板已配置SMTP(面板设置 → 邮件设置);检查垃圾邮件箱 |
| **Webhook告警失败** | 确认钉钉/企业微信机器人地址正确;检查服务器能否访问外网 |
## 六、卸载插件
如果需要卸载:
1. 进入宝塔 **软件商店** → **第三方应用**
2. 找到 **SSL自动续签**,点击 **卸载**
3. 同时删除之前添加的计划任务(可选)
## 七、关于版权与支持
– 本插件由 **zuisao.com** 开发并维护,遵循 MIT 开源协议
– 欢迎自由使用、修改、二次发布,但请保留版权声明
– 使用过程中遇到问题,可访问 [https://zuisao.com](https://zuisao.com) 反馈
—
**告别手动续签的烦恼,让SSL证书自动续签成为你的得力助手!**
立即下载安装,体验全自动的证书管理吧。

