配置SSL证书
根据DNS解析规则,TXT记录的主机名(即子域名部分)需遵循以下规范:
一、TXT主机记录命名限制
禁止以.开头或结尾
例如:._acme-challenge.jishuzhai.cn 或 _acme-challenge.jishuzhai.cn. 均为非法格式
正确配置TXT记录进行SSL验证(如Let's Encrypt证书)需要遵循以下关键步骤和注意事项:
1.获取TXT记录值
证书工具(Certbot/acme.sh等)会生成验证值(如 "Yjg9dF_kA...2Wzr4")
值通常以双引号包裹(部分DNS服务商需省略引号)
2.添加TXT记录
字段 正确示例 错误示例 主机名 _acme-challenge
.acme
(以点开头)记录类型 TXT
CNAME/A/其他 记录值 "Yjg9dF_kA...2Wzr4"
未加引号或格式错误 TTL 300
(推荐)86400
(过长影响生效)📌 注:主机名不要填写完整域名(如
_acme-challenge.jishuzhai.cn
),只需子域名部分
3.保存并等待传播
生效时间取决于TTL(通常5-10分钟)
二、各平台配置差异
服务商 | 主机名填写要求 | 记录值格式要求 |
---|---|---|
Cloudflare | _acme-challenge | 直接粘贴内容(无引号) |
阿里云 | _acme-challenge | 必须加双引号 |
腾讯云 | _acme-challenge | 可选加引号 |
GoDaddy | _acme-challenge | 粘贴原始值(含引号) |
三、基础本地验证(快速检查)
# Linux/macOS\r\ndig TXT _acme-challenge.yourdomain.com @8.8.8.8 +short\r\n\r\n# Windows\r\nnslookup -type=TXT _acme-challenge.yourdomain.com 8.8.8.8
验证要点:
预期返回格式:
"验证字符串"
若返回空值:DNS配置错误
若返回旧值:TTL未过期或缓存未刷新
从日志分析,您的SSL证书申请失败主要由于DNS验证超时和权威DNS服务器通信问题。以下是具体问题和解决方案:
四、核心问题诊断
DNS传播超时
权威DNS服务器
ns2.ename.net:53
响应超时(UDP端口53通信失败)Let's Encrypt无法获取到您配置的TXT记录
日志显示:
time limit exceeded
(10分钟等待后仍未验证成功)根本原因:
附加错误
badNonce
错误:ACME协议临时性问题(可自动重试)i/o timeout
:网络层与DNS服务器连接不稳定临时切换DNS服务商
将域名NS记录改为:
ns1.alidns.com\r\nns2.alidns.com
手动验证配置
确认TXT记录满足:
主机名: _acme-challenge\r\n记录值: "xxxxxxxxxxxx" (必须带双引号)\r\nTTL: ≤300
更改域名NS记录(Name Server记录)是切换DNS服务商的关键操作,以下是详细步骤和注意事项:
在新DNS服务商处添加域名
Cloudflare:点击 + Add site 输入域名
阿里云DNS:云解析DNS → 添加域名
预先配置所有DNS记录(A/CNAME/MX/TXT等)
修改注册商处的NS记录
阿里云操作路径:
控制台 → 域名 → 域名列表 → 目标域名 → 域名设置 → 修改DNS服务器
删除原有NS记录
添加新服务商提供的NS地址(至少2个)
保存更改(需短信/邮箱验证)
在阿里云DNS(云解析DNS)中获取AccessKey(访问密钥)是调用API实现自动化操作(如自动DNS验证)的关键步骤,以下是详细获取流程:
五、获取AccessKey步骤(控制台操作)
1. 登录阿里云控制台
2. 进入访问控制RAM控制台
3. 创建AccessKey
在「AccessKey管理」页面:
点击 「创建AccessKey」 按钮
完成短信/邮箱验证
生成结果:
AccessKey ID: LTAI5t‌***********‌vD2\r\nAccessKey Secret: KZO4fz‌**************‌bUJk
权限配置(必需步骤)
仅获取AccessKey还不够,需为密钥授权DNS操作权限:
为用户授权
用户管理 → 目标用户 → 添加权限 → 搜索并添加策略(DNS)
关于SSL证书的申请范围,需要根据您的具体需求来决定是否需要覆盖根域名、www子域名或泛域名。以下是详细分析和建议:
六、证书类型对比
证书类型 | 覆盖范围 | 适用场景 | Let's Encrypt 支持 |
---|---|---|---|
单域名证书 | 仅一个特定域名(如 jishuzhai.cn) | 简单单域名网站 | ✅ |
多域名证书 | 多个指定域名(如 jishuzhai.cn + www.jishuzhai.cn) | 主站+WWW站点 | ✅(最多100域名) |
泛域名证书 | 单级子域名(如 *.jishuzhai.cn) | 需要无限子域名(api、shop等) | ✅(仅DNS验证) |
七、推荐方案(根据业务需求)
场景1:基础网站(根域名+www必备)
优势:
覆盖最常见的两种访问方式
浏览器不会提示证书不匹配
符合用户访问习惯(约60%用户会输入www)
验证方式限制:
证书类型 | HTTP验证 | DNS验证 |
---|---|---|
单域名 | ✅ | ✅ |
多域名 | ✅ | ✅ |
泛域名 | ❌ | ✅ |