1. ACME HTTP01/DNS01 挑战选型与排障
请说明 ACME HTTP01/DNS01 挑战的选型与排障?
- HTTP01 与 DNS01 的原理
- 选型权衡
- 排障方法
ACME 提供 HTTP01 与 DNS01 两种域名验证挑战。HTTP01:ACME 服务器通过 HTTP 访问 http://域名/.well-known/acme-challenge/<token>,验证域名所有权;需 80 端口可达、挑战路径可访问,适合单域名、HTTP 可达的场景。DNS01:ACME 服务器查询域名的 _acme-challenge TXT 记录,验证后签发;需能操作 DNS 记录,支持通配符证书,适合通配符、无法开 80 端口、需批量签发的场景。选型:HTTP01 简单(无需 DNS 权限),但需 80 端口、不支持通配符;DNS01 支持通配符、无需 80 端口,但需 DNS 提供商 API 与传播等待。排障:HTTP01 失败查 80 端口可达性、挑战路径是否被路由/安全规则拦截、Ingress 注解冲突;DNS01 失败查 TXT 记录是否传播(dig 查询)、DNS 提供商 API 权限、传播延迟(TTL 过长)、多签发者争用(同一域名多个 TXT)。cert-manager 排障查 Order/Challenge 事件与日志。
选型核心是"是否需通配符与 80 端口":HTTP01 简单、DNS01 支持通配符。排障按挑战类型分别查端口/路径(HTTP01)或 DNS 传播/权限(DNS01)。