如何配置域名 DNS 解析

Danny · 2026年9月11日 · 7 分钟阅读

域名解析配错,表现出来往往是网站打不开、邮箱收不到信、SSL 证书签不下来。这篇文章说清楚 A、AAAA、CNAME、MX、TXT、NS 这些记录各自管什么,再分别说明阿里云云解析 DNS 和 Cloudflare 后台里怎么添加、怎么改、怎么用 dig 确认生效,最后列出最容易配错的几个地方。

域名解析配错的表现往往不在解析本身:网站打不开,企业邮箱收不到信,SSL 证书签不下来,邮件全进垃圾箱。排查一圈才发现是某条记录的字段填错了位置。这篇文章先把常见记录类型讲清楚,再分别说明阿里云云解析 DNS 和 Cloudflare 两个后台里怎么添加、怎么改、怎么确认记录已经生效。

DNS 解析这一步在做什么

域名是给人看的,服务器只认 IP。DNS 解析就是把域名翻译成目标地址的过程,中间经过好几层缓存,任何一层拿到的结果不对,表现出来就是访问不到。

一次解析请求的完整链路

浏览器 / 邮件客户端

本地 DNS 缓存

递归解析器

权威 DNS

阿里云 / Cloudflare

返回记录值

你在阿里云或者 Cloudflare 后台里填的每一条记录,都存放在权威 DNS 上。递归解析器负责帮客户端去问,问到之后按 TTL 缓存在自己那里,缓存没过期就不会再问第二次。这也是改了记录却感觉没生效的原因,之前把 TTL 降到 300 再动记录,就是为了缩短这段等待,原理可以看这篇 迁移 DNS 前为什么建议先把 TTL 降到 300

常见记录类型各自管什么

日常要配的其实就是下面这几种,先弄清楚每种记录解决什么问题,再看后台的字段就不会填错。

记录类型作用值长什么样典型场景
A把域名指向一个 IPv4 地址12.34.56.78网站服务器、VPS
AAAA把域名指向一个 IPv6 地址2001:db8::1支持 IPv6 的服务器
CNAME把域名指向另一个域名,跟着对方变mailgun.org 这类目标域名邮件追踪、www 指向主域名、CDN
MX指定这个域名由哪台服务器收信mx1.example.net(前面带优先级数字)企业邮箱
TXT存放一段文本,多数是给服务商做验证用v=spf1 include:… 、v=DKIM1…SPF、DKIM、DMARC、域名归属验证
NS指定这个域名交给哪台 DNS 服务器解析ns1.example.com更换 DNS 服务商
CAA限制哪些机构可以给域名签发证书0 issue “letsencrypt.org”SSL 证书签发限制
SRV指定某个服务的地址和端口优先级 权重 端口 目标主机部分协作工具、游戏服务

先确认解析记录托管在哪家

同一个域名,解析记录只会存在于一个地方,就是 NS 记录指向的那家 DNS 服务商。搞错地方,记录填得再对也不会生效。用 dig 查一下 NS 是最快的判断方法:

dig +short NS example.com

返回值里带 cloudflare.com 后缀,说明解析托管在 Cloudflare;带 alidns.com 或 hichina.com 后缀,说明在阿里云云解析 DNS;带 dnspod.net 后缀,说明在腾讯云 DNSPod。如果你的域名在阿里云注册、NS 也还是默认的阿里云地址,那么解析记录应该在阿里云云解析的控制台里改,Cloudflare 后台再怎么配都没用。

在阿里云云解析 DNS 里添加记录

进入阿里云控制台,在域名与网站分类下找到云解析 DNS,选中要配置的域名,点解析设置,再点添加记录。

表单里的字段这样填:

  • 记录类型:A、CNAME、MX、TXT、AAAA、CAA 都在同一个下拉里选
  • 主机记录:填相对名称,@ 表示主域名本身,www 表示 www 前缀,mail 表示 mail 前缀
  • 解析线路:保持默认,按线路分流属于进阶用法,一般用不到
  • 记录值:粘贴服务商给出的值,整段复制,不要手工改
  • TTL:默认 10 分钟,下拉里可选的最小值以下拉项为准

填完点确认保存记录。

主机记录是最容易填错的一项。要配 mail.example.com,主机记录里写 mail 就够了,把完整域名填进去,阿里云会当成 mail.example.com.example.com 处理,解析自然查不到。子域名和 www 是两个不同的主机记录,@ 和 www 各配一条 A 记录,两个地址才都能打开。

在 Cloudflare 里添加记录

登录 Cloudflare,选中要操作的域名,左侧菜单进入 DNS,点 Records 标签,然后点 Add record。

表单里的字段这样填:

  • Type:A、AAAA、CNAME、MX、TXT、NS 或 CAA,选完之后剩下的字段会跟着变
  • Name:填 @ 或子域名前缀,Cloudflare 会补全成完整域名并显示在输入框右侧
  • IPv4 Address:A 记录填服务器 IP;选 CNAME 时这个位置显示的是 Target,填目标域名
  • Proxy Status:决定这条记录走不走 Cloudflare 代理,网站主域名的 A 记录用 Proxied(橙云),邮件记录该怎么选见下面的提醒
  • TTL:选 Auto 就用 Cloudflare 的默认值,也可以手动指定

填完点 Save 保存记录。

橙云和灰云的区别只在 A、AAAA、CNAME 三种记录上体现。开橙云,访问请求先到 Cloudflare 再回源,源站 IP 被隐藏,还能顺带拿到缓存和防护;开灰云,访问者直接连你的服务器,Cloudflare 只负责给出 IP。换服务器 IP 时橙云不需要改 DNS,这是它最实用的地方,原因写在 为什么资深开发者更倾向于把域名 DNS 托管到 Cloudflare 里。

风险提示 Warning

邮件相关的记录一律用灰云。发信域名验证用的 CNAME 和 TXT 记录开成橙云,邮件服务商会查不到真实记录值,验证一直不通过;MX 记录本身不支持代理,Cloudflare 也会强制按 DNS Only 处理。反过来说,网站主域名的 A 记录开橙云没有问题。

记录加完怎么确认生效

别只看自己的浏览器,本地缓存和递归解析器的缓存都会骗人。用 dig 直接查权威结果最省事,指定公共 DNS 还能排除本地网络的影响:

# 查 A 记录
dig +short www.example.com

# 指定公共 DNS 查询,排除本地缓存
dig +short @1.1.1.1 www.example.com

# 查邮件记录
dig +short MX example.com
dig +short TXT example.com

返回值和后台填的内容一致,就说明记录已经生效。返回空结果,先回后台确认记录真的保存了,再确认查的是不是 NS 指向的那家服务商。返回值还是旧 IP,说明缓存还没到期,等 TTL 结束再查;这就是为什么改记录前建议先把 TTL 调低,尤其涉及迁移的时候。

几个容易配错的点

  • 主机记录填了完整域名,正确做法是只填前缀,@ 留空表示主域名本身
  • 只配了 www,主域名没配,用户输 example.com 打不开
  • 同一个主机记录下同时存在 CNAME 和其他记录,规范不允许,后台通常会直接报冲突
  • 邮件相关记录开了 Cloudflare 代理,MX 和 TXT 用不了代理,CNAME 开了就验证失败
  • TXT 记录的值分段粘贴导致中间多了空格,或者被后台自动加的引号破坏,粘贴前先看一遍
  • 企业邮箱的 MX 记录漏了优先级数字,或者几条 MX 的优先级填成一样
  • 删记录前没确认这条记录还有谁在用,追踪域名被删会让邮件打开率统计直接归零

结语

解析记录本身不复杂,难点在于每条记录的字段含义在不同服务商那里叫法不一样,出错的表现又常常出现在别的地方。按上面两个后台的字段说明填一遍,再用 dig 验证结果,绝大多数解析问题都能自己解决。如果 A 记录要指向一台服务器,而你手上还没有,可以先买一台 VPS:访客主要在海外,买 Hostinger 这类海外服务商的 VPS,控制面板里就能拿到服务器 IP;访客主要在国内,腾讯云轻量应用服务器 的节点离用户更近。

接下来如果是要给发信服务配解析,可以接着看 如何设置 Mailgun 的发信域名,里面用到的主要是 CNAME 和 TXT 两类记录。邮件能不能进收件箱,还取决于 SPF、DKIM、DMARC 这三条记录,完整配置方法在 SPF、DKIM、DMARC 配置教程 里;只想搭一个自己的域名邮箱,MX 记录的填法在 如何设置企业邮箱的 MX 记录 这篇里。

更多类似指南,
每周四送达。

主机评测、建站对比、性能优化技巧和插件推荐 — 每周为 WordPress 站长和建站者精选。