用途:系统化诊断和解决 Caddy 反向代理在 Cloudflare DNS-01 挑战下的 HTTPS/SSL 证书问题。
主要能力:检查 CLOUDFLARE_API_KEY 是否设置并传入容器;确认 Cloudflare DNS 插件已编译进 Caddy;搜索 Caddy 日志中的证书错误;校验 Caddyfile 语法;测试各域名证书有效期;将错误信息匹配到已知问题并给出修复命令。
使用方式:先运行诊断脚本 /home/dawiddutoit/projects/network/.claude/skills/troubleshoot-https/scripts/diagnose-https.sh,或按步骤执行:grep 检查 .env、docker exec caddy env 确认变量传递、docker exec caddy caddy list-modules | grep cloudflare 验证插件、docker logs 分析日志、docker exec caddy caddy validate --config /etc/caddy/Caddyfile 校验配置、openssl s_client 测试证书。
适用场景:HTTPS 无法访问、证书未获取、Caddy 反复重启、新域名无证书、Cloudflare DNS 挑战失败、Authorization header 格式无效等。
限制与要求:需 Docker 运行 Caddy 容器、有效的 Cloudflare API Token(Edit zone DNS 权限)、.env 中设置 CLOUDFLARE_API_KEY、可访问互联网。注意不要使用 Global API Key,不要跳过插件验证,不要删除 caddy_data 卷,不要超过 Let's Encrypt 速率限制(每域名每周 50 张证书),不要将令牌提交到 git。证书存于 Docker 卷 network_caddy_data,到期前 30 天自动续期。