惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

罗磊的独立博客
L
LangChain Blog
aimingoo的专栏
aimingoo的专栏
IT之家
IT之家
B
Blog
博客园_首页
博客园 - 司徒正美
有赞技术团队
有赞技术团队
博客园 - 聂微东
I
InfoQ
美团技术团队
GbyAI
GbyAI
阮一峰的网络日志
阮一峰的网络日志
H
Help Net Security
大猫的无限游戏
大猫的无限游戏
MyScale Blog
MyScale Blog
WordPress大学
WordPress大学
The GitHub Blog
The GitHub Blog
A
About on SuperTechFans
人人都是产品经理
人人都是产品经理
Microsoft Azure Blog
Microsoft Azure Blog
Engineering at Meta
Engineering at Meta
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Cloudflare Blog

Halo - 强大易用的开源建站工具

使用 MCP,让 AI Agent 管理网站 商品询价、身份验证与编辑体验升级,Halo 2.26 发布 Halo 首个支持可视化编辑的主题,Publica 公共门户正式发布! 如何选择最佳网站搭建方案?2026年12款建站工具对比测评! Halo 和 WordPress 对比:开源 CMS 怎么选? Halo 和 Ghost 对比:博客、简报与会员订阅怎么选? Halo 和 Typecho 对比:现代 CMS 还是轻量博客? Halo 和 EmDash 对比:成熟 CMS 还是 Cloudflare 新方案? Halo 和 Hugo 对比:动态 CMS 还是静态网站生成器? Halo 和 Hexo 对比:动态 CMS 还是静态博客? Halo 和 Strapi 对比:全栈建站平台还是 Headless CMS? 在群晖 NAS 上用 Docker 部署 Halo 用 Obsidian 写文章,一键发布到 Halo 域名是什么?新手注册域名前要知道的 7 件事 虚拟主机、VPS 和云服务器有什么区别?建站服务器怎么选 建站需要准备什么?域名、服务器、备案和 SSL 的关系 网站备案是什么?个人备案和企业备案有什么不同 SSL 证书和 HTTPS 是什么?免费证书够用吗 CDN 是什么?网站什么时候需要 CDN robots.txt 是什么?新手建站常见配置误区 Sitemap 是什么?它对网站收录有什么作用 SEO 写作基础:标题、描述、URL 和内链怎么做 301 和 302 重定向有什么区别?网站改版怎么降低排名风险 Google Analytics、Umami、Rybbit:流量统计工具怎么选 网站图片优化指南:格式、压缩和懒加载怎么做 网站安全基础:建站后必须做的 6 件事 Halo 如何定时发布文章 Halo 如何接入 Bing Webmaster Tools 支持优惠券和折扣码,Halo 2.25 发布 AI Foundation:给 Halo 插件生态一层 AI 能力底座
域名解析:A 记录、CNAME、MX、TXT 分别怎么用
Ryan Wang · 2026-06-23 · via Halo - 强大易用的开源建站工具

注册域名之后,你需要让用户在浏览器输入域名时能访问到你的网站。这个「把域名指向服务器」的过程,就叫做域名解析,它是通过配置 DNS 记录来实现的。

很多人第一次打开域名管理后台,看到 A、AAAA、CNAME、MX、TXT 这些名词时会感到困惑。这篇文章从建站的实际场景出发,逐一解释每种记录类型的作用和配置方法。


一、DNS 解析到底在解决什么问题?

DNS(Domain Name System,域名系统)可以理解成互联网的「电话簿」。它把人类可读的域名(如 halo.run)翻译成机器可识别的 IP 地址(如 192.0.2.1)。

解析的大致流程:

用户浏览器 → 查询 DNS 服务器 → 获取 A 记录 → 返回服务器 IP → 发起访问

你需要在 DNS 服务商的后台添加各种解析记录,告诉 DNS 系统:当用户访问某个域名或子域名时,应该指向哪里。不同类型的记录,定义的是不同种类的指引关系。


二、A 记录和 AAAA 记录:把域名指向 IP 地址

A 记录(IPv4)

A 记录是最基础、最常用的记录类型。它的作用是把一个域名(或子域名)指向一个 IPv4 地址。

典型场景:把 www.yourdomain.com 指向你的服务器 IP 123.123.123.123

主机记录:www
记录类型:A
记录值:123.123.123.123
TTL:600(默认即可)

配置完成后,用户访问 www.yourdomain.com 就会被引导到 IP 为 123.123.123.123 的服务器。

根域名(@ 记录):如果你想直接用 yourdomain.com(不带 www)访问网站,需要为主机记录填 @ 添加一条 A 记录。

AAAA 记录(IPv6)

与 A 记录功能相同,但指向的是 IPv6 地址。如果你的服务器支持 IPv6,可以同时添加 A 和 AAAA 记录,以兼容不同网络环境。

关键注意事项

  • 一条主机记录可以有多条 A 记录(指向不同 IP),用于简单的 DNS 轮询或容灾,但它不能替代真正的负载均衡和健康检查。
  • A 记录指向的是 IP 地址,不能填域名。
  • 服务器更换 IP 后,必须更新 A 记录。

三、CNAME 记录:把域名指向另一个域名

CNAME(Canonical Name)记录的作用是把一个域名指向另一个域名,而不是 IP 地址。

典型场景:CDN 接入。当你为网站接入 CDN 后,CDN 服务商会给你一个域名(如 example.cdn.com),你需要把 www.yourdomain.com 通过 CNAME 指向这个 CDN 域名。

主机记录:www
记录类型:CNAME
记录值:example.cdn.com

配置完成后,用户访问 www.yourdomain.com 的请求会先到达 CDN 节点,CDN 再回源到你的服务器。

CNAME 与 A 记录的冲突规则

这是最重要的规则:同一主机记录不能同时存在 CNAME 记录和其他类型的记录。

例如,如果你为 www 设置了 CNAME 记录,就不能再为 www 设置 A 记录或 MX 记录。这是一个 DNS 协议层面的硬性限制,不是服务商的 bug。

根域名不能用 CNAME

另一个关键限制:传统 DNS 记录中,根域名(yourdomain.com,主机记录为 @)通常不能直接使用 CNAME 记录。这是 DNS 协议的规范要求,因为根域名的 SOA 和 NS 记录不允许与 CNAME 共存。

如果你的 CDN 要求根域名也用 CNAME,解决方案取决于你的 DNS 服务商:

  • Cloudflare 支持 CNAME Flattening,自动在后台处理。
  • 部分 DNS 服务商支持 ALIAS、ANAME 或类似的扁平化能力。
  • 如果服务商只提供显性/隐性 URL 跳转,要注意这不是 DNS 层的 CNAME,不适合作为 CDN 根域名接入方案。
  • 如果都不支持,可以给根域名设 A 记录指向 CDN 提供的 IP(需要 CDN 支持),或者仅将 www 子域名接入 CDN,根域名做 301 跳转到 www

四、MX 记录:邮件交换记录

MX(Mail Exchange)记录用于指定某个域名接收邮件的服务器地址。

典型场景:你想使用 admin@yourdomain.com 作为企业邮箱,由腾讯企业邮箱或阿里企业邮箱托管。

主机记录:@
记录类型:MX
记录值:mxbiz1.qq.com
优先级:5

MX 记录的「优先级」是数字越小优先级越高。多设几条不同优先级的 MX 记录可以实现邮件服务器的容灾。

注意事项

  • MX 记录只影响邮件收发,不影响网站访问。
  • MX 记录的值必须是域名,不是 IP 地址。
  • 如果你不使用域名邮箱功能,不需要添加 MX 记录。

五、TXT 记录:文本验证记录

TXT 记录用于存储一段文本信息,最常见的用途是域名所有权验证

典型场景 1:Google Search Console 验证

在 Google Search Console 添加网站时,Google 会要求你添加一条特定的 TXT 记录来证明你是该域名的所有者。

主机记录:@
记录类型:TXT
记录值:google-site-verification=xxxxxxxxxx

典型场景 2:SPF 记录(邮件发信验证)

如果你使用域名邮箱发送邮件,SPF(Sender Policy Framework)记录可以防止他人伪造你的域名发邮件。

主机记录:@
记录类型:TXT
记录值:v=spf1 include:spf.mail.qq.com ~all

典型场景 3:DKIM 和 DMARC

这两个是更高级的邮件安全验证机制,用于增强邮件可信度、防止邮件被标记为垃圾邮件。一般由企业邮箱服务商提供配置值。

注意事项

  • TXT 记录通常不影响网站访问;但 SPF、DKIM、DMARC 这类 TXT 记录会影响邮件身份验证和投递质量,配置错误可能导致发信进垃圾箱或被拒收。
  • 验证完成后,Search Console 类的 TXT 记录通常可以保留不动(删除可能导致验证失效)。

六、解析生效时间和排查方法

TTL:Time to Live

TTL 表示 DNS 记录在全球 DNS 服务器中的缓存时间,单位是秒。默认值通常是 600 秒(10 分钟)。

TTL 越短,解析变更生效越快,但 DNS 查询负担略增。建站初期可以设短一些(如 300 秒),方便调试;站点稳定后可以适当调长(如 3600 秒)。

解析生效为什么需要等待?

添加或修改 DNS 记录后,全球各地的 DNS 缓存服务器需要等待旧记录的 TTL 过期,才会拉取新的记录。这意味着:

  • 不是即时生效:最慢可能需要等待原 TTL 时长。
  • 不同地区生效时间可能不同:取决于当地 ISP 的 DNS 缓存策略。

排查 DNS 问题的工具

  1. nslookup 命令(Windows/macOS/Linux 通用):

    nslookup yourdomain.com
    

    直接查询当前域名的解析结果。

  2. dig 命令(macOS/Linux):

    dig yourdomain.com A
    

    查询特定记录类型。

  3. 在线工具:如 DNSChecker.org,可以查看全球不同地区的解析结果,判断是配置问题还是缓存延迟。


七、用 Halo 建站时,DNS 怎么配?

场景 1:服务器直连(无 CDN)

主机记录:www   类型:A    值:你的服务器 IP
主机记录:@     类型:A    值:你的服务器 IP

两条记录即可。然后配置 Nginx 或类似工具,把不带 www 的域名 301 跳转到带 www 的版本(或反之),避免搜索引擎视为两个不同页面。

场景 2:接入 CDN

主机记录:www   类型:CNAME   值:CDN 提供的加速域名
主机记录:@     类型:A       值:服务器 IP
               或使用 DNS 服务商支持的 CNAME Flattening / ALIAS / ANAME

场景 3:添加 Search Console / Bing Webmaster Tools 验证

主机记录:@     类型:TXT    值:Google / Bing 提供的验证字符串

场景 4:企业邮箱

主机记录:@     类型:MX     值:邮箱服务商提供的邮件服务器地址   优先级:5
主机记录:@     类型:TXT    值:SPF 记录(邮箱服务商提供)

速查表

记录类型 作用 记录值 能否用于根域名
A 域名 → IPv4 地址 IP 地址 ✅ 可以
AAAA 域名 → IPv6 地址 IPv6 地址 ✅ 可以
CNAME 域名 → 另一个域名 域名 传统 DNS 下通常不直接使用
MX 指定邮件服务器 域名 ✅ 可以
TXT 文本验证 / SPF 文本字符串 ✅ 可以

记住三条规则就够了:同一主机记录的 CNAME 不能和其他记录共存;根域名不能用 CNAME;修改了解析之后耐心等 TTL 过期。不确定配置是否正确的时候,用 dignslookup 命令先验证一下,再等待全球生效。


解析配好了,接下来该选服务器了。不同类型的托管方案之间差别不小,值得花时间搞清楚。