什么是 DNS CNAME 记录?

DNS CNAME 记录用作共享单个 IP 地址的域名的别名。

Share facebook icon linkedin icon twitter icon email icon

DNS CNAME 记录

学习目标

阅读本文后,您将能够:

  • Understand how CNAME records work in the context of a domain lookup
  • Understand the relationship between CNAME records and A records

什么是 DNS CNAME 记录?

或子域是另一个域的别名时,使用“规范名称”记录代替 A记录。想象一个寻宝游戏,各个线索指向另一个线索,最后一个线索指向宝藏。具有 CNAME 记录的域就像是一个线索,可以将您指向另一个线索(具有 CNAME 记录的另一个域)或宝藏(具有 A 记录的域)。例如,假设 www.example.com 有一个 CNAME 记录,其值是“example.com”(没有“www”)。这意味着,当 DNS 服务器访问 www.example.com 的 DNS 记录时,它实际上会触发对 example.com 的另一个 DNS 查找,返回 example.com 的 IP 地址。在这种情况下,我们可以说 example.com 是 blog.example.com 的规范名称(或真实名称)。所有 CNAME 记录都必须指向一个域,而不是 IP 地址。


通常,当站点具有子域(例如 blog.example.com 或shop.example.com)时,这些子域将具有指向根域(example.com)的 CNAME 记录。这样,如果主机的 IP 发生更改,则仅需要更新根域的 DNS A 记录,并且所有 CNAME 记录都会跟随对根所做的任何更改。


一个常见的误解是 CNAME 记录必须始终解析为其指向的域所在的网站,但事实并非如此。CNAME 记录仅将客户端指向与根域相同的 IP 地址。客户端访问该 IP 地址后,Web 服务器仍将相应地处理 URL。例如,blog.example.com 可能有一个 CNAME 指向 example.com,从而将客户端定向到 example.com 的 IP 地址。但是,当客户端实际连接到该 IP 地址时,Web 服务器将查看 URL,发现它是 blog.example.com,并且提供博客页面而不是主页。

CNAME 记录示例:

blog.example.com record type: value: TTL
@ CNAME is an alias of example.com 32600

在本例子中,您可以发现 blog.example.com 指向 example.com。假设它基于我们的示例 A 记录,我们便知道它最终会解析到 IP 地址 12.34.56.78。