DNS 指向这台服务器了吗?
只读DOMAIN=example.com
dig +short A "$DOMAIN"
curl -4 -s https://api.ipify.org; echo跑完应看到: 两个 IP 必须一致。不一致说明 DNS 还没生效,或开着 CDN 代理(例如 Cloudflare 的橙色云朵)。
03 / FIELD NOTES
重试 Let’s Encrypt 之前,先查 DNS、80 端口是否可达,以及 CDN 代理。
默认的 HTTP-01 验证会让 Let’s Encrypt 从 80 端口访问 http://你的域名/。DNS 指向别处、80 端口被挡、或 CDN 代替你的服务器应答时,都会失败。
Nginx Proxy Manager 或 Zoraxy 申请证书时报错。
不要反复重试。Let’s Encrypt 对同一域名的连续失败有频率限制。
DOMAIN=example.com
dig +short A "$DOMAIN"
curl -4 -s https://api.ipify.org; echo跑完应看到: 两个 IP 必须一致。不一致说明 DNS 还没生效,或开着 CDN 代理(例如 Cloudflare 的橙色云朵)。
ss -lntp | grep -E ':(80|443) '
curl -sI "http://$DOMAIN/" | head -n 1跑完应看到: 80 和 443 应由 docker-proxy 监听。能拿到任意 HTTP 状态行,就说明 80 端口可达。
只读。DNS 和 80 端口都没问题时,检查云安全组是否放行了 TCP 80,再重试一次。
{
"slug": "cert-failed",
"risk": "safe",
"tags": [
"https",
"dns",
"ports",
"nginx"
],
"updated": "2026-10-30",
"pathIndex": null,
"why": "默认的 HTTP-01 验证会让 Let’s Encrypt 从 80 端口访问 http://你的域名/。DNS 指向别处、80 端口被挡、或 CDN 代替你的服务器应答时,都会失败。",
"steps": [
{
"command": "DOMAIN=example.com\ndig +short A \"$DOMAIN\"\ncurl -4 -s https://api.ipify.org; echo",
"risk": "safe"
},
{
"command": "ss -lntp | grep -E ':(80|443) '\ncurl -sI \"http://$DOMAIN/\" | head -n 1",
"risk": "safe"
}
]
}