Appearance
doctor —— 环境诊断
诊断当前 CertiMan 安装环境,覆盖凭证、网络、版本、数据、升级与定时任务六类检查。任一检查项为 FAIL 时以非零退出码结束,CI 与运维脚本可据此判断环境是否可用。
用法
bash
certiman doctor参数
本命令没有自有参数。
诊断项目
下表「检查项(中文)」列为中文界面下终端表格显示的名称,「内部键(英文)」列为 -o json 输出中的 name 字段,供脚本判断:
| 类别 | 检查项(中文) | 内部键(英文) | 说明 |
|---|---|---|---|
| 凭证 | 凭证文件 | credential_file | 检查凭证文件是否存在、是否可读 |
| 凭证 | 凭证权限 | credential_permission | Linux/macOS 检查权限是否为 0600;Windows 检查 DACL 是否已断开继承,未断开时为 WARN 并给出 icacls 修复命令 |
| 凭证 | 凭证服务端校验 | credential_online | 由服务端校验凭证是否有效:凭证失效时为 FAIL;无凭证或认证服务暂时不可达时为 SKIP |
| 凭证 | 数据目录可写 | data_home_writable | 检查数据目录是否可写 |
| 网络 | OpenAPI 端点 | openapi_endpoint | TCP + TLS 握手(10 秒超时) |
| 网络 | 认证服务端点 | auth_endpoint | 认证服务端点 TCP + TLS 握手 |
| 网络 | 系统时钟 | clock_skew | 本地时钟与服务端偏差是否在 ±5 分钟内 |
| 版本 | 当前版本 | build_version | 当前版本与构建时间(不联网查询新版本) |
| 数据 | 证书目录 | certificates | 逐目录检查 cert.yaml / state.json / 证书文件完整性。以下两类问题为 FAIL(阻断):fullchain.pem 缺中间证书链、交付材料缺件(国密双证包括加密私钥尚未下载)。修复方式分别为运行 certiman download -d <主域名> -f 重新下载完整证书链、运行 certiman download -d <主域名> 重新下载交付材料 |
| 数据 | 账号模板 | profiles | 检查所有 profile 是否可以正常解析 |
| 升级 | 全局配置 schema | global_config_schema | schema 版本比对(当前 v1) |
| 升级 | 证书配置 schema | certificate_config_schema | schema 版本比对(当前 v2) |
| 定时任务 | 定时任务注册 | cron_registration | 检查系统调度器中是否已注册;未注册时同样为 PASS |
| 定时任务 | 上次运行结果 | cron_last_run | 仅在已注册时显示;汇总最近一次执行结果,存在失败时为 WARN |
每项结果为四态:PASS / WARN / FAIL / SKIP(前置条件不满足)。存在 FAIL 项时以非零退出码结束。
示例
bash
# 检查全部
certiman doctor
# JSON 输出,供监控采集
certiman doctor -o json