网络诊断工具

CNAME 查询

规范名称(别名)记录

什么是 CNAME 记录?

CNAME 记录把一个主机名别名到另一个规范名称,于是使用目标的 A 和 AAAA 记录来解析地址。它常用于指向 CDN 或 SaaS 提供商的子域名,让你跟随它们的基础设施而无需追踪其 IP 地址。当提供商更换 IP 时,你的 CNAME 会自动继续工作。

CNAME 别名如何解析到地址

CNAME 不存储 IP;它把一个主机名指向另一个。当解析器遇到 CNAME 时,它会在目标名称上重新开始查询,并跟随其 A 或 AAAA 记录直到最终地址。例如,shop.example.com CNAME mystore.shopify.com 意味着对 shop.example.com 的请求会经由 Shopify 的主机名解析。正是这种间接性,使得 CDN 和 SaaS 平台给你一个 CNAME 目标:它们可以自由更换底层 IP,而你的子域名会随之跟进,你这边无需任何改动。

如何解读你的 CNAME 结果

CNAME 结果显示别名主机名及其指向的规范目标,例如 www.example.com CNAME example.com 或 blog.example.com CNAME hosted.ghost.io。要看到最终 IP,请跟随这条链:目标自身的 A 和 AAAA 记录解析出地址。如果某个 CNAME 指向的目标本身又是一个 CNAME,解析器会跟随这条链,不过过长的链会增加查询和延迟。一个指向无任何记录主机名的 CNAME 是损坏的,将无法解析。

常见 CNAME 错误与限制

最重要的规则是你不能在根域名(example.com)上设置 CNAME,因为顶点必须与必需的 NS 和 SOA 记录共存,而 CNAME 不得与同名的其他记录并存。请在顶点改用 A 记录或提供商的 ALIAS/ANAME 功能。你也不能给一个已有 A、MX 或 TXT 记录的主机名添加 CNAME。一个常见故障是在 SaaS 端激活服务之前就把 CNAME 指向其目标,导致它无法解析。

常见问题

什么是 CNAME 记录?

CNAME 记录是一条把一个主机名别名到另一个规范主机名的 DNS 记录,于是使用目标的 A 和 AAAA 记录来解析地址。CNAME 代表 canonical name(规范名称)。它被广泛用于把子域名指向 CDN 和 SaaS 提供商,让你的域名即便在它们 IP 地址变化时也能跟随其服务器。

CNAME 和 A 记录有什么区别?

CNAME 把一个主机名指向另一个主机名,而 A 记录把主机名直接指向一个 IPv4 地址。CNAME 增加了一层间接性,自动跟随目标的 IP;A 记录则是固定映射。对跟随某提供商的子域名使用 CNAME,对根域名或固定 IP 使用 A 记录。

我可以在根域名上使用 CNAME 吗?

不可以,你不能在根(顶点)域名(如 example.com)上使用标准 CNAME,因为顶点必须持有 NS 和 SOA 记录,而 CNAME 无法与同名的其他记录并存。请改用 A 记录,或你 DNS 提供商的 ALIAS 或 ANAME 功能——它们在顶点处模拟 CNAME 行为,同时保持符合标准。

一个 CNAME 可以指向另一个 CNAME 吗?

可以,一个 CNAME 能指向另一个 CNAME,解析器会跟随这条链直到到达一个拥有 A 或 AAAA 记录的主机名。然而,过长的链在每一跳都会增加一次 DNS 查询,从而提高延迟。请让链尽量短,最好只有一层,并确保最终目标确实拥有地址记录,以使解析成功。

我的 CNAME 为什么不工作?

CNAME 失败往往是因为目标主机名没有 A 或 AAAA 记录、它所指向的 SaaS 服务尚未激活,或你把 CNAME 设在了一个已有其他记录的名称上。请核实目标自身能解析、确认提供商的配置已完成,并确保没有冲突的 A、MX 或 TXT 记录与该主机名共存。

相关工具

Deutsch | English | Español | Français | Italiano | Português | Русский | Українська | 日本語 | 简体中文 | 한국어