在线免费申请SSL证书如何做TXT解析验证

a
admin
作者
2026-07-31
发布日期
约 15 分钟
阅读时间

在线免费申请SSL证书如何做TXT解析验证

申请免费SSL证书时,DNS验证是三种验证方式(DNS/HTTP/HTTPS)中最稳定也最推荐的方式,不需要开放80端口,不受海外访问限制影响。但很多用户卡在TXT解析这一步——不知道在哪里添加、添加什么内容、怎么确认生效。这篇把TXT解析验证的全流程讲清楚。

为什么需要TXT解析验证

CA机构签发证书前,必须验证你对该域名的控制权。TXT记录验证是最常用的域名控制权验证方式,原理是:

  • CA给你一个随机字符串
  • 你在DNS中添加一条TXT记录,值就是这个字符串
  • CA通过DNS查询你的域名TXT记录
  • 如果值匹配,说明你确实控制该域名,CA签发证书

TXT验证相比HTTP验证的优势

  • 不需要开放80端口
  • 不受服务器海外访问限制影响(DNS是全球解析的)
  • 不影响网站正常运行
  • 支持通配符证书
  • 验证更稳定可靠

TXT解析验证的完整流程

第一步:提交证书申请

sslmianfei.com 首页输入域名,选择证书类型,提交申请后会进入验证步骤。

证书类型自动识别

  • example.comwww.example.com:单域名证书
  • *.example.com:通配符证书
  • 多个域名逗号分隔:多域名证书
  • 有效IP地址:IP证书

第二步:选择DNS验证方式

提交申请后,在验证方式选择页面选择”DNS验证”或”TXT验证”(不同CA名称略有差异)。

页面会给出验证信息,包含两个关键字段:

  • 主机记录(Host/Name):要添加的TXT记录的主机名
  • 记录值(Value):TXT记录的值,是一长串随机字符串

典型示例

主机记录:_dnsauth.example.com
记录值:202403151234567890abcdef1234567890abcdefghijklmnopqrstuvwxyz

第三步:登录DNS服务商控制台

根据你的域名DNS服务商选择对应操作

  • 阿里云DNS
  • 腾讯云DNSPod
  • Cloudflare
  • 华为云DNS
  • 其他DNS服务商

注意:DNS解析托管在哪家,就去哪家控制台添加TXT记录。域名的注册商不一定是DNS服务商,比如域名在阿里云注册,但DNS解析托管在Cloudflare,就要去Cloudflare添加记录。

第四步:添加TXT记录

不同DNS服务商的操作步骤略有差异,下面分别说明。

阿里云DNS添加TXT记录

操作路径:阿里云控制台 → 云解析DNS → 域名解析 → 选择域名 → 添加记录

填写内容

  • 记录类型:TXT
  • 主机记录:填CA给出的主机记录中去掉域名后缀的部分
  • 记录值:CA给出的完整字符串(一长串)
  • 解析线路:默认
  • TTL:默认(10分钟)

主机记录填写示例

CA给出的主机记录是 _dnsauth.example.com,在阿里云控制台的主机记录框里只填 _dnsauth,不要填完整域名(系统会自动补全域名后缀)。

注意:如果CA给出的主机记录是 _dnsauth.www.example.com,主机记录填 _dnsauth.www

腾讯云DNSPod添加TXT记录

操作路径:腾讯云控制台 → DNS解析DNSPod → 解析记录 → 添加记录

填写内容

  • 记录类型:TXT
  • 主机记录:填CA给出的主机记录中去掉域名后缀的部分
  • 记录值:CA给出的完整字符串(用双引号包裹更稳妥)
  • 线路类型:默认
  • TTL:默认(600秒)

主机记录填写示例

CA给出的主机记录是 _dnsauth.example.com,在DNSPod控制台的主机记录框里只填 _dnsauth

注意:DNSPod的TXT记录值建议加双引号,如 "20240315abcdef...",避免特殊字符被解析错误。

Cloudflare添加TXT记录

操作路径:Cloudflare Dashboard → 选择域名 → DNS → Records → Add record

填写内容

  • Type:TXT
  • Name:填CA给出的主机记录中去掉域名后缀的部分,或直接填完整主机记录
  • Content:CA给出的完整字符串
  • TTL:Auto
  • Proxy status:DNS only(必须关闭代理,灰色云朵)

主机记录填写示例

CA给出的主机记录是 _dnsauth.example.com,Cloudflare的Name框里填 _dnsauth 即可。

关键点:Cloudflare必须关闭橙色云朵代理,改为灰色云朵(DNS only)。如果开启代理,TXT记录可能无法被CA正确查询。

华为云DNS添加TXT记录

操作路径:华为云控制台 → 云解析服务 → 公网解析 → 选择域名 → 添加记录集

填写内容

  • 记录集类型:TXT – 文本记录
  • 主机记录:填CA给出的主机记录中去掉域名后缀的部分
  • 记录值:CA给出的完整字符串
  • TTL:默认

第五步:等待TXT记录生效

TXT记录添加后不会立即生效,需要等待DNS全球传播。

不同TTL的生效时间

  • TTL 600秒(10分钟):通常5-15分钟生效
  • TTL 3600秒(1小时):通常30-90分钟生效
  • TTL 86400秒(1天):可能需要几小时才全球生效

建议添加TXT记录时把TTL设置为最小值(如60秒或600秒),加快生效速度。

验证TXT记录是否生效

方法一:用dig命令(Linux/Mac)

# 查询TXT记录
dig _dnsauth.example.com TXT

# 简洁输出
dig _dnsauth.example.com TXT +short

方法二:用nslookup命令(Windows/Linux/Mac)

# 进入交互模式
nslookup
> set type=TXT
> _dnsauth.example.com

# 或直接命令行
nslookup -type=TXT _dnsauth.example.com

方法三:在线工具

使用 Google Dig站长之家DNS查询 等在线工具查询TXT记录。

关键判断

  • 如果查询结果返回的TXT值和CA给出的值完全一致,说明TXT记录已生效
  • 如果返回的值不一致或为空,需要继续等待或检查记录是否添加正确

第六步:触发CA验证

TXT记录生效后,回到 sslmianfei.com 的验证页面,点击”验证解析”按钮。

系统会先检查TXT记录是否正确返回,验证通过后自动触发CA签发证书。

验证结果有三种情况

  • 验证成功,证书已签发:立即可以下载证书
  • 验证成功,证书审核中:CA还需要几分钟处理,稍等后重试获取证书
  • 验证失败:TXT记录未生效或值不正确,检查后重试

常见问题排查

问题一:TXT记录添加后查询不到

可能原因

  • DNS解析还没传播到位(等待时间不够)
  • 主机记录填写错误(多填或少填了域名后缀)
  • 记录值填写错误(少了字符或多了空格)
  • DNS服务商选错了(域名DNS实际托管在其他服务商)

排查方法

# 查询权威DNS服务器(直接问域名DNS服务器,避免本地缓存影响)
dig @ns1.alidns.com _dnsauth.example.com TXT
dig @ns1.dnspod.net _dnsauth.example.com TXT

# 或查询8.8.8.8(Google DNS)
dig @8.8.8.8 _dnsauth.example.com TXT

如果权威DNS查询不到,说明记录添加有问题,需要重新检查DNS控制台的配置。

问题二:主机记录填错

最常见的错误

  • 在阿里云填了完整的 _dnsauth.example.com(应该只填 _dnsauth
  • 在Cloudflare填了 _dnsauth 但选错了域名
  • 通配符证书的主机记录填成了 _dnsauth.*.example.com(应该填 _dnsauth

正确规则

  • 主机记录是 _dnsauth.example.com → 控制台填 _dnsauth
  • 主机记录是 _dnsauth.www.example.com → 控制台填 _dnsauth.www
  • 通配符证书的主机记录和单域名相同,都是 _dnsauth

问题三:记录值被截断或修改

CA给出的TXT记录值是一长串随机字符串,添加时必须完整复制,不能有任何修改。

常见错误

  • 记录值前后多了空格
  • 记录值中间的换行被保留了
  • 复制时少了一两个字符
  • 被DNS服务商自动转换为大写或小写

解决方法

  • 严格按CA给出的原值复制粘贴
  • 不要手动输入,用复制粘贴
  • 添加后用dig查询确认返回值和原值一致

问题四:Cloudflare代理未关闭

Cloudflare的TXT记录如果开启了橙色云朵代理,CA可能无法正确查询TXT记录。

解决方法

  • 添加TXT记录时,Proxy status必须选”DNS only”(灰色云朵)
  • 即使是临时的,验证期间也必须关闭代理
  • 证书签发后可以再开启代理

问题五:DNS解析服务器指向错误

域名的NS记录指向了错误的DNS服务商,导致添加的TXT记录无法被查询到。

检查方法

# 查询域名的NS记录
dig example.com NS +short

如果NS记录指向 ns1.alidns.com,说明DNS解析在阿里云,TXT记录必须去阿里云添加。如果在DNSPod添加,是无效的。

问题六:TXT记录格式问题

部分DNS服务商对TXT记录的格式有特殊要求

  • 字符串超过255字符需要分段
  • 包含特殊字符需要转义或加引号
  • 部分服务商不允许下划线开头的记录

解决方法

  • 如果记录值超过255字符,DNS服务商会自动分段,无需手动处理
  • 添加双引号包裹记录值
  • 如果服务商不允许下划线,联系客服或更换DNS服务商

TXT验证 vs CNAME验证

部分CA使用CNAME验证而不是TXT验证。两者的操作流程类似,但有细微差异:

  • TXT验证:添加TXT记录,值是随机字符串
  • CNAME验证:添加CNAME记录,指向CA指定的域名

sslmianfei.com 使用ZeroSSL作为CA,DNS验证方式是CNAME。操作流程和TXT验证基本一致,只是记录类型选择CNAME。

CNAME验证的注意事项

  • 主机记录同样是去掉域名后缀的部分
  • 记录值是CA指定的目标域名(如 xxx.zerossl.com
  • 记录值末尾有没有点都可以,DNS服务商会自动处理
  • CNAME记录会覆盖同名的其他记录,不要和其他记录冲突

TXT验证成功后

证书签发成功后,TXT记录可以删除,不会影响证书的使用。

但建议

  • 如果用acme.sh自动续期,不要删除TXT记录(acme.sh会自动管理)
  • 如果是手动续期,证书签发后可以删除TXT记录
  • 删除TXT记录不会影响已签发的证书

证书下载和部署

证书签发后,在sslmianfei.com下载证书文件(.crt和.key),部署到Nginx或Apache。部署完成后用 SSL证书配置检测工具 验证证书链、TLS版本和安全响应头是否配置正确。

总结

TXT解析验证的核心要点

  • 主机记录:CA给出的主机记录去掉域名后缀(如 _dnsauth.example.com_dnsauth
  • 记录值:严格按CA给出的原值复制,不能修改
  • TTL:设置为最小值(60-600秒)加快生效
  • Cloudflare:必须关闭代理(DNS only)
  • 验证:用 dig _dnsauth.example.com TXT 确认生效后再触发CA验证
  • 删除:证书签发后TXT记录可以删除

DNS验证相比HTTP验证的优势:不受80端口限制、不受海外访问限制、支持通配符证书、更稳定可靠。如果你在申请IP证书,只能用HTTP验证,参考 IP证书申请失败原因

本文到此结束