跳到正文

监控与续期 ​

证书管理的真正成本不在签发,而在「别忘了续」。CertHub 用三层机制兜住:定时续期 + 站点巡检 + 到期提醒。

定时续期 ​

定时任务

流水线详情页右上角 定时任务,按日历选(每天 / 每周 / 每月 1 日 / 自定义 cron),按钮上直接显示人话时间,例如「每天 03:00」。

保存后写回 content.triggers,下次运行时间由后端立即重算,不用等调度器下一轮 tick。停用会清空下次执行时间,重新启用会按当前 cron 再算一遍。

为什么可以「每天跑一次」

证书任务里有 renewDays(默认 20 天):没到续期时间就自动跳过签发,直接复用证书库里的证书。所以定时任务设成每天跑是安全的,不会反复申请触发 CA 限流。

几个相关的开关:

开关作用
提前续期天数距离到期小于这个天数才重新签
强制续期忽略剩余天数,立刻重签(换 CA、换密钥类型时用)
证书已存在且未过期就跳过默认开启
刚申请过就跳过(分钟)防止短时间重复触发

站点监控 ​

站点监控

站点监控 用来盯住那些不由本平台签发的证书(别人家的站点、云厂商托管的证书、还没接管的存量站点)。

  • 录入 URL 即可,系统定时探测 443 端口,读取证书状态、签发者、到期时间、剩余天数与最近巡检时间。
  • 列表中用「正常 / 即将到期 / 异常」标色,异常站点可以和流水线联动修复。
  • 可以手动点「巡检」立即刷新。

到期提醒 ​

系统设置 → 通知 → 到期提醒天数(默认 15 天)。证书进入提醒窗口后,通过默认通知渠道推送;站点监控发现异常也会推。

生产环境建议至少配一个即时通讯类渠道(钉钉 / 企微 / 飞书机器人),确保续期失败能第一时间触达。

失败兜底 ​

  • 失败后跳转:任务配置底部可以选「失败后跳转到」后面某个任务,画布上会多一条橙色虚线。常见用法是「申请失败 → 跳到通知任务」,避免失败静默。
  • 单入边:一个任务最多只有一条「失败后」入边,被占用时下拉项会置灰并注明占用者。
  • 协作式停止:执行中可以点「停止」,在任务之间与 ACME 轮询的每一轮检查标志位。
  • 进程被强杀:启动时会把遗留的 running 记录标成 failed 并补一句「服务重启,本次执行已中断」,前端不会一直转圈。

健康检查 ​

GET /api/health:

  • 正常返回 code=200;
  • 数据库不可用 / 磁盘 < 200MB / 调度器没起来时返回 503,并在 data 里给出原因。

用 Uptime Kuma、云监控或宝塔告警盯这个地址即可。它同时也是容器 HEALTHCHECK 用的探针。

bash
curl -s http://127.0.0.1:8000/api/health
# {"code":200,"data":{"db":"ok","scheduler":"running","diskFreeMb":...}}

容量 ​

项目默认怎么改
每条流水线的执行历史保留 20 条流水线「定时任务」抽屉里的「保留条数」
备份份数14 份tools/backup.py --keep N
证书文件每次签发一份,不自动删证书库删除后文件仍在 data/certs,可按需清理旧目录

数据目录持续变大时,先看执行历史保留条数与 data/certs 的旧目录。

基于 GPL-3.0 开源许可发布 · 本站与产品均不含任何付费、套餐或数量限制