跳到正文

故障排查 ​

先看这三个地方 ​

位置能看出什么
执行历史 → 查看日志失败在哪个任务、哪一步、对端返回了什么
backend.log / 容器日志启动异常、数据库、调度器、未处理错误
GET /api/health数据库、磁盘、调度器是否正常(异常返回 503)

业务性异常(PipelineError / DeployError / AcmeError / NotifyError / DnsError 等)不会打堆栈,日志里只有一行中文结论;云厂商错误压成 [Code] Message 一行。

证书申请 ​

现象原因处理
Did not find challenge value / incorrectResponseDNS 记录还没生效就通知了 CA任务里把「DNS 传播等待」调到 300~600 秒,或加大「传播校验重试次数」
DNS 验证一直等待生效AK 没有该域名的解析权限,或域名不在这个账号下用最小权限子账号,确认域名的权威 NS 指向这家服务商
提示「未到续期时间」剩余天数大于 renewDays(默认 20)调小「提前续期天数」,或打开「强制续期」
Unknown external account binding (EAB) keyGoogle EAB 过期(7 天)授权管理里更新 EAB 凭据后重跑
External account binding has already been used一次性 EAB 被复用(FreeSSL / LiteSSL)轮换一份新 EAB
The bound account does not existEAB 与所选 CA 不匹配确认 EAB 授权的「所属 CA」选对,重新取一份 EAB
访问 Google / ZeroSSL 超时、WinError 10054国内网络系统设置 → 网络设置:填 HTTP 代理,或给 CA 配反向代理域名
泛域名验证失败用了 HTTP-01泛域名只能用 DNS-01
CAA 记录导致签发被拒域名有严格 CAA把 trustasia.com(LiteSSL)/ 对应 CA 的 CAA 身份加进去
免费证书报额度不足云厂商免费额度用尽换 CA 或走 ACME

部署 ​

现象原因处理
流水线成功,但站点还是旧证书部署路径不对 / 没重载 / 浏览器缓存证书库里确认证书是新的;检查 certPath 与 reloadCmd;部分面板需要手动重载
报「需要「群晖 DSM」类型的授权,当前选的是「宝塔面板」」授权类型与插件不匹配在任务里改选正确类型的授权
群晖登录失败设备 ID 过期(约 30 天)或未开启「信任设备跳过双重验证」重新点「获取设备 ID」;或在授权里配「验证密钥」由系统自动回退
权限不足 / 写不进目录SSH 账号无写权限换有权限的账号,或给 sudoers 放行重载命令
CDN 已更新但访问还是旧证书CDN 生效延迟等几分钟;必要时在云控制台刷新证书绑定

界面与日志 ​

现象原因处理
执行日志不实时、一直转圈反向代理开了 bufferingNginx 加 proxy_buffering off; 与 proxy_read_timeout 3600s;
页面显示旧内容浏览器缓存了旧 bundleCtrl + F5;确认 frontend/dist 是构建后的产物
日志里有 status=running 的僵尸记录进程被强杀重启服务,启动时会把它们标成 failed 并补一句「服务重启,本次执行已中断」
点「停止」后还在跑一会儿协作式停止,只在任务边界检查标志位正常现象,等当前 HTTP 请求结束

定时任务 ​

现象原因处理
到点不触发调度器没起来 / 时区不对看 /api/health 的 scheduler;确认 CERTD_TZ=Asia/Shanghai
改了 cron 但下次运行时间没变服务端会立即重算,前端需刷新刷新页面;仍不对就看系统设置里的时区
停用后仍显示下次运行时间老数据重新启用再停用一次即可重算

登录与账号 ​

现象原因处理
提示「当前未开放注册」自助注册默认关闭系统设置 → 站点信息 打开,或由管理员建号
账号被锁连续失败 5 次,锁 10 分钟等 10 分钟,或管理员在用户管理里重置密码(会清除锁定)
管理员密码忘了没有邮件找回管理员重置;单账号场景见下方「重置密码」
登录态全部失效data/secret.key 被删 / 换机没带过来恢复备份里的 secret.key

重置密码(有另一台机器可用时) ​

bash
python -c "import sys;sys.path.insert(0,'backend');from app.security import hash_password;print(hash_password('新密码'))"

把结果写进 user 表的 password 字段,同时把 login_fail_count 置 0、locked_until 置 NULL。

数据与磁盘 ​

现象原因处理
数据目录暴涨历史记录 + 证书文件累积调小执行历史保留条数,清理 data/certs 旧目录与旧备份
启动报磁盘不足 / 健康检查 503剩余空间 < 200MB清理磁盘,或迁移数据目录到更大的分区
换机器后凭据都解不开没带 secret.key从备份恢复 secret.key 后重启

还是解决不了? ​

提 issue 时请带上:执行历史里的完整日志(含阶段标题)、CertHub 版本、部署方式(源码 / Docker)、涉及的插件类型。日志里的凭据已被脱敏,可以放心贴。

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