### [ACME自动签发证书经过代理失败?HTTP-01、DNS-01与续期排查](https://www.jiyueip.com/article/8110) **Published:** 2026-07-22T19:16:49 **Author:** 斑斓助理 **Excerpt:** ACME客户端需要访问CA目录、账户与订单端点,HTTP-01要求公网访问挑战文件,DNS-01还依赖DNS API。本文说明正向代理、反向代理、CAA、时间、限流和续期监控。 ACME自动签发涉及两个方向:客户端主动访问证书颁发机构的目录、账户和订单API;CA再从外部验证域名控制权。正向代理只可能帮助第一段,无法自动解决HTTP-01挑战文件从公网不可达、DNS-01记录未传播等问题。 ## 三种挑战方式对比 | 方式 | 验证路径 | 主要依赖 | | --- | --- | --- | | HTTP-01 | CA访问域名的HTTP挑战路径 | DNS、80端口、路由与挑战文件 | | DNS-01 | CA查询指定TXT记录 | DNS API、权威DNS与传播 | | TLS-ALPN-01 | CA通过TLS连接验证 | 443端口、ALPN和入口控制 | ## ACME客户端出站代理控制什么 客户端需要访问CA目录和订单端点。若服务器只能经企业HTTP代理出网,应按客户端支持设置代理、认证和CA。407属于出口代理;ACME订单错误则来自CA。代理不能改写请求体或TLS身份。 ## HTTP-01最常失败在哪 域名A/AAAA记录指错、80端口被防火墙阻断、CDN规则强制错误重定向、反向代理没有把挑战路径送给ACME客户端,都会失败。IPv6记录存在时,CA可能通过IPv6验证,因此只修IPv4不一定够。 ## 反向代理怎样保留挑战路径 为`/.well-known/acme-challenge/`建立明确路由,不被应用认证、单页应用重写或缓存污染。多节点环境需让挑战内容在CA访问到的任一节点可见,或由统一证书管理组件负责。 ## DNS-01为何卡在传播 客户端创建TXT记录后,本地递归DNS看到新值,不代表所有权威节点已同步。应直接查询权威服务器,确认记录名称、值和TTL。多DNS提供商、CNAME委派和分区DNS会增加复杂度。 ## DNS API凭据如何保护 Token应只允许所需Zone的DNS记录操作,放在权限受限的Secret或文件中。不要写进Caddyfile、Nginx配置仓库或命令行。申请完成后也需要保留续期权限,因此应建立轮换和失效监控。 ## CAA记录会造成什么 CAA可限制哪些CA为域名签发证书。记录配置错误、父域继承或DNSSEC异常,可能导致CA拒绝。应查询实际权威结果,并确认选择的CA被允许,不要随意删除组织安全策略。 ## 系统时间为何重要 ACME签名、TLS和证书有效期都依赖时间。服务器时钟偏差会导致请求认证、证书验证或续期判断异常。应使用可靠NTP并监控,不要通过扩大容忍窗口掩盖。 ## 高频重试为何危险 生产CA通常有账户、订单、失败验证或重复证书限流。调试应先使用CA提供的测试环境,确认DNS与挑战路由后再正式签发。不要每次容器重启都丢失账户与证书存储并重新申请。 ## 续期成功不等于服务已加载新证书 ACME客户端可能已写入新文件,但Nginx、HAProxy、Caddy或应用仍使用旧证书。续期Hook应安全Reload服务,并验证外部实际证书序列、到期时间和完整链。失败时保留旧证书继续服务。 ## 监控哪些指标 - 证书剩余有效期; - 最近续期时间和结果; - 挑战失败原因与域名; - CA API状态和限流; - DNS API凭据到期; - 服务Reload及外部证书版本。 ## 排查顺序 1. 确认客户端、CA和挑战类型; 2. 验证客户端到CA的DNS、代理和TLS; 3. HTTP-01检查公网DNS、80端口和路由; 4. DNS-01检查权威TXT和API权限; 5. 核对CAA、时间与CA限流; 6. 使用测试环境完成一次签发; 7. 验证续期后服务实际加载证书。 ## 延伸阅读 Caddy自动HTTPS的入口与上游TLS边界,可参考[Caddy自动HTTPS与证书排查](https://www.jiyueip.com/article/8106)。 ## 结论 ACME代理故障必须区分客户端出站和CA入站验证。代理只解决其中一段;挑战路由、权威DNS、CAA、限流和证书Reload共同决定自动续期是否可靠。 **Tags:** HTTP代理, SSL证书, 网站运维, 网络故障排查 **Categories:** 行业洞察 ---