宝塔面板免费SSL泛域名证书申请与自动化定时续签避坑指南
现代主流浏览器(Chrome、Edge、Safari)对未配置有效 HTTPS 证书的网站会直接弹出“您的连接不是私密连接”的全屏红色警告,导致 90% 以上的访客直接流失。
1. 单域名证书与通配符(泛域名)证书的区别
- 单域名证书:只能保护例如
www.yourdomain.com,当您新增子域名api.yourdomain.com或pay.yourdomain.com时必须逐个重新申请。 - 通配符泛域名证书(Wildcard SSL):一张证书保护
*.yourdomain.com及所有二级子域名,方便统一维护与自动分发。
2. 申请 Let's Encrypt 通配符证书的标准流程
Let's Encrypt 签发泛域名证书必须通过 DNS-01 验证(解析 TXT 记录)。手动解析每次续期都需要手工填写,非常麻烦。最佳实践是利用 DNS 厂商的 API 密钥实现全自动静默续签:
第一步:在域名服务商处创建 API 密钥
- 腾讯云 DNSPod:在控制台创建 API Token(ID 与 Token)。
- 阿里云云解析:在访问控制(RAM)创建仅具备云解析权限的 AccessKey。
- Cloudflare:在“My Profile -> API Tokens”生成专门的 Edit DNS Zone Token。
第二步:在宝塔中录入 DNS 密钥
- 进入宝塔后台【网站】-> 找到目标网站点击【设置】。
- 切换到【SSL】标签页 -> 选择【Let's Encrypt】。
- 勾选需要申请的通配符域名(如
yourdomain.com和*.yourdomain.com)。 - 验证方式选择【DNS验证】,并在下拉菜单中选择您的服务商(例如 AliDNS 或 Cloudflare),填入 API 凭据。
- 点击【申请】,宝塔将通过 API 自动写入 TXT 解析并完成验证,几十秒内自动签发并部署!
3. 为什么自动续期会失败?常见四大踩坑点
- DNS API 密钥权限不足或过期:RAM 用户的访问密钥若被删除或过期,自动续期就会报错鉴权失败。
- CDN 开启了严格 SSL 回源限制:如果套了 Cloudflare 或国内 CDN,回源模式必须正确设置为 Full 或跟随证书。
- 80 / 443 端口被系统防火墙阻断:ACME 协议握手时若无法通过公网连通,会导致签发超时。
- 服务器本地时间不准确:Linux 系统时间如果偏差超过几分钟,会导致 SSL 握手时间戳校验失败。可通过命令校时:
bash# 同步国家授时中心时间 ntpdate ntp.aliyun.com || chronyc makestep