Let’s Encrypt在国内申请慢是因为其HTTP-01验证需境外CA主动访问服务器80端口,而多数国内服务器无法稳定连接acme-v02.api.letsencrypt.org,导致超时或失败;ZeroSSL、DNS验证和LiteSSL可绕过该限制,是更适配国内网络的必要方案。

Let’s Encrypt 在国内申请慢,不是你网络差,是它根本连不上。 宝塔默认走 HTTP-01 验证,依赖境外 CA 服务器主动访问你的 80 端口,而多数国内服务器无法稳定连接 acme-v02.api.letsencrypt.org(IPv6 不可达、TCP 超时、DNS 解析失败都很常见),卡在“正在验证”十几分钟甚至直接报错,本质是路径不通,不是配置没调好。
为什么 ZeroSSL 比 Let’s Encrypt 快得多
ZeroSSL 的 ACME 接口节点部署在新加坡和美国西海岸,对国内延迟更低,且支持更宽松的 TLS 版本协商;宝塔 8.0+ 已原生集成,无需额外安装客户端。但注意:ZeroSSL 免费证书有效期仅 90 天,且不支持泛域名(*.example.com)——这点和 Let’s Encrypt 一致,别被“快”误导了用途。
切换操作很简单:
- 进「网站」→ 目标站点 →「SSL」→「免费申请」
- 把「证书服务商」下拉菜单改成
ZeroSSL - 验证方式保持
HTTP(前提是你的80端口能被公网直连) - 点「申请」,通常 10–30 秒内完成
如果仍失败,大概率是 80 端口被云厂商安全组或宝塔防火墙拦了,不是证书商的问题。
DNS 验证为什么能绕过所有网络限制
DNS 验证不依赖你的服务器对外提供 HTTP 服务,而是让 ACME 服务器去查你域名的 TXT 记录是否匹配。只要你能写 DNS(比如阿里云、Cloudflare),整个流程就完全走国内或国际 DNS 查询链路,和你的服务器出网能力无关。
关键实操点:
- 必须用子账号 AK:阿里云主账号
AccessKey ID调用 DNS API 会被风控拦截,报错There is a risk of leakage of this AccessKey;务必在 RAM 控制台建子账号,只赋AliyunDNSFullAccess权限 - 宝塔里选「DNS 验证」后,填的是子账号的
AccessKey ID和AccessKey Secret,不是主账号的 - 若用 Cloudflare,需开启「API Tokens」并授予
Zone:DNS:Edit权限,填入 Token 字符串,不是 Global API Key - 申请前确认域名 NS 服务器没被锁死:有些注册商(如阿里云)把 NS 改成自己家的,反而导致 DNS API 调用失败;可临时切回
NS1.DNSPOD.NET等中立 NS 测试
LiteSSL 是更适合国内环境的替代方案
LiteSSL 是国内合规免费 CA,所有验证节点都在境内,DNS 或 HTTP 验证都走本地链路,基本无超时。它和 ZeroSSL 的区别在于:LiteSSL 对泛域名支持更稳,且自动续签成功率略高(尤其在低配 VPS 上)。
启用步骤比 ZeroSSL 多半步:
- 同样进「SSL」→「免费申请」,把服务商换成
LiteSSL - 验证方式选
DNS,然后选对应服务商(阿里云/腾讯云/Cloudflare) - 填子账号凭证,点「申请」
- 首次申请成功后,续签会自动触发,不需要手动干预
注意:LiteSSL 不出现在老版本宝塔(如 7.x)中,如果你用的是旧面板,先升级到 8.0+ 再操作。
真正卡住申请速度的,从来不是按钮按得不够快,而是默认走了一条物理上就走不通的路。DNS 验证和 LiteSSL 不是“备选方案”,它们是针对国内网络现实的必要路径——别跟境外 IP 死磕,该换就换。


















