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

推荐订阅源

博客园_首页
T
Threat Research - Cisco Blogs
GbyAI
GbyAI
Y
Y Combinator Blog
美团技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 【当耐特】
S
SegmentFault 最新的问题
IT之家
IT之家
Recent Announcements
Recent Announcements
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
阮一峰的网络日志
阮一峰的网络日志
T
The Blog of Author Tim Ferriss
Martin Fowler
Martin Fowler
Microsoft Azure Blog
Microsoft Azure Blog
V
Visual Studio Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
U
Unit 42
WordPress大学
WordPress大学
博客园 - Franky
L
LangChain Blog
人人都是产品经理
人人都是产品经理
小众软件
小众软件
博客园 - 叶小钗
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
云风的 BLOG
云风的 BLOG
Vercel News
Vercel News
雷峰网
雷峰网
腾讯CDC
Google DeepMind News
Google DeepMind News
博客园 - 三生石上(FineUI控件)
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Help Net Security
Help Net Security
C
Check Point Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
N
News and Events Feed by Topic
V2EX - 技术
V2EX - 技术
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Schneier on Security
Schneier on Security
博客园 - 聂微东
A
Arctic Wolf
H
Heimdal Security Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Recent Commits to openclaw:main
Recent Commits to openclaw:main
T
The Exploit Database - CXSecurity.com
C
Cyber Attacks, Cyber Crime and Cyber Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Google DeepMind News
Google DeepMind News

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

如何选择最佳网站搭建方案?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 能力底座 Halo 应用市场已支持开发者入驻和创建应用 Halo 如何接入 Google Search Console 如何自动备份 Halo 网站 让 AI Agents 管理 Halo 网站内容 支持商城小程序,Halo 2.24 发布 如何在本地快速体验 Halo 使用 Halo CLI + GitHub Actions 持续部署主题 使用页面缓存插件优化 Halo 网站速度 阿里云 ESA 接入 Halo 配置指南 在本地搭建 Halo 插件开发环境 七牛云 DCDN 接入 Halo 配置指南 如何一键更新 Halo 的主题和插件 又拍云 CDN 接入 Halo 配置指南 腾讯云 EdgeOne 接入 Halo 配置指南 Halo 网站加载慢?8 种原因排查与优化方法 Halo 导入 Word 文档教程:批量导入并保留图片 主题开发技巧:为 Halo 网站添加一个知识库样式的页面 Rybbit 接入 Halo 教程:开源隐私友好的流量分析工具 Umami 接入 Halo 教程:自托管网站流量统计 在 Halo 中使用 Markdown 写作的 6 种方式 如何从社区版切换到 Halo 付费版
域名解析: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 命令先验证一下,再等待全球生效。


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