什么是DNS CNAME记录?
当一个域名或子域名是另一个域名的别名时,将使用“规范名称”记录来代替A记录。想象一下一个寻宝游戏,每个线索指向另一个线索,最后一个线索指向宝藏。具有CNAME记录的域名就像一个线索,可以将您指向另一个线索(具有CNAME记录的另一个域名)或宝藏(具有A记录的域名)。例如,假设www.gingerdoc.com有一个CNAME记录,其值是’gingerdoc.com’(没有’www’)。这意味着,当DNS服务器访问www.gingerdoc.com的DNS记录时,它实际上触发了对gingerdoc.com的另一个DNS查找,并返回gingerdoc.com的IP地址。在这种情况下,我们可以说gingerdoc.com是blog.gingerdoc.com的规范名称(或真实名称)。所有CNAME记录都必须指向一个域名,而不是IP地址。
通常,当网站具有子域名(例如blog.gingerdoc.com或shop.gingerdoc.com)时,这些子域名将具有指向根域名(gingerdoc.com)的CNAME记录。这样,如果主机的IP发生更改,则仅需要更新根域名的DNS A记录,并且所有CNAME记录以及对根所做的任何更改都将随之而来。
常见的误解是CNAME记录必须始终解析为其指向的域名所在的网站,但事实并非如此。CNAME记录仅将客户端指向与根域名相同的IP地址。客户端点击该IP地址后,Web服务器仍将相应地处理URL。因此,例如,blog.gingerdoc.com可能有一个CNAME指向gingerdoc.com,从而将客户端定向到gingerdoc.com的IP地址。但是,当客户端实际连接到该IP地址时,Web服务器将查看URL,看到它是blog.gingerdoc.com,并提供博客页面而不是主页。
CNAME记录示例:
blog.gingerdoc.com | 记录类型: | 值: | TTL |
---|---|---|---|
@ | CNAME | gingerdoc.com的别名 | 32600 |
在此示例中,您可以看到blog.gingerdoc.com指向gingerdoc.com,并假设它基于我们的A记录示例。我们知道它将最终解析为IP地址12.34.56.78。