域名解析之CNAME 解析过程、限制和替代
<h2>什么是 CNAME 记录?</h2><p>域名系统 (DNS) 中使用规范名称 (CNAME) 记录来创建从一个域名到另一个域名的别名。一个常见的例子是 www 子域,用户访问“ www.example.com ”被转到“example.com”。</p>
<p>CNAME 记录的一些常见用途是:</p>
<ul><li>为特定网络服务(例如电子邮件或 FTP)提供单独的主机名,并将该主机名指向根域</li><li>许多托管服务在服务提供商的域(例如 company.hostname.com)上为每个客户提供一个子域,并使用 CNAME 指向客户的域(www.company.com)。</li><li>在多个国家注册同一个域并将国家版本指向主“.com”域</li><li>从同一组织拥有的多个网站指向一个主网站</li><li>用于 SSL 证书申请时的域名验证,例如 _dnsauth.yryz.net CNAME mnwwgx3uijnhsvkyjezf6nlpkn4xotzrkjpto6tfgbbuu22g.dcv.httpsauto.com.</li></ul>
<h3>CNAME 记录的 DNS 解析过程</h3>
<ul><li>DNS 客户端(例如浏览器或网络设备)请求地址 www.example.com ,并创建 DNS 请求。</li><li>DNS 解析器接收请求并找到权威名称服务器,该服务器保存带有“example.com”域的 DNS 记录的 DNS 区域文件。</li><li>DNS请求被解析,CNAME记录返回给客户端。</li><li>客户端发现 www.example.com 只是真实地址“example.com”的别名(CNAME),并为“example.com”发出新的 DNS 查询</li><li>重复该过程,解析器返回“example.com”的 A 记录,其中包含 IP 地址。</li><li>DNS 客户端现在使用其 IP 地址连接到“example.com”。</li></ul>
<h2>CNAME 记录的限制</h2>
<ul><li>CNAME 不能放置在根域级别,因为根域是 DNS 起始授权 (SOA),它必须指向一个 IP 地址。</li><li>CNAME 记录必须指向另一个域名,而不能指向 IP 地址。</li><li>CNAME 记录中定义的主机名不得包含其他类型(MX、A 等)的其他资源记录,但 DNSSEC 记录(如 RRSIG 和 NSEC)除外。</li><li>CNAME 记录<strong>可以</strong>指向其他 CNAME 记录,但这不是一个好的做法,因为它效率低下。</li><li>MX 和 NS 记录绝不能指向 CNAME 别名。</li><li>用于电子邮件的域可能没有 CNAME 记录-这可能对不同的邮件服务器产生不期望的结果。</li></ul>
<h2>CNAME 和替代记录类型</h2>
<p>CNAME 记录通常与其他类型的 DNS 记录一起使用- A 记录和 ALIAS 记录。</p>
<p><strong>A 和 CNAME 的区别</strong></p>
<p>A 记录将主机名映射到一个或多个 IP 地址,而 CNAME 记录将主机名映射到另一个主机名。</p>
<p><strong>ALIAS 和 CNAME 的区别</strong></p>
<p>ALIAS 记录与 CNAME 一样,也将一个主机名映射到另一个主机名。但是,ALIAS 记录可以在同一主机名上拥有其他 DNS 记录,而 CNAME 则不然。这使得在根域(DNS 区域顶点)应用 ALIAS 成为可能,这对于 CNAME 是不允许的。</p>
<p>此外,ALIAS 的性能 比 CNAME 更好,因为它不需要 DNS 客户端解析另一个主机名,它直接返回一个 IP。然而,ALIAS 记录也需要在幕后进行递归查找,这会影响性能。</p>
頁:
[1]