有人说使用 A 记录和其他人使用 CNAME 作为捕获所有子域。
我应该使用哪个,为什么?
我认为问题是要深入了解A和CNAME记录。我也发现这很令人困惑,但是在阅读了几个博客之后,我得出了以下理解:
A和CNAME记录是将主机名(以下称为名称)映射到一个或多个 IP 地址的两种常用方法。在继续之前,重要的是您要真正了解这两个记录之间的差异。我会保持简单。
A记录将名称指向特定IP。例如,如果您希望名称blog.myweb.com指向服务器186.30.11.143,您将配置:
blog.myweb.com A 186.30.11.143
CNAME记录将名称指向另一个名称,而不是IP。CNAME源代表目标名称的别名并继承其整个解析链。
以我们的博客为例:
blog.myweb.com CNAME my.bitbucket.io
my.bitbucket.io CNAME github.map.mybitbucket.net
github.map.mybitbucket.net A 186.30.11.143
我们使用 GitHub Pages 并将 blog.myweb.com 设置为my.bitbucket.io的CNAME,而后者本身又是 github.map.mybitbucket.net 的CNAME ,它是指向186.30.11.143的A记录。这意味着blog.myweb.com解析为186.30.11.143。
结论:
记录将名称指向IP。CNAME记录可以将名称指向另一个CNAME或A 记录。
是否记录CNAME
或A
记录*.example.com
记录并不重要。
这样做的一个好处CNAME
是,如果您更改A
记录,www.example.com
您也不需要更改*.example.com
记录,但这很少。
CNAME 的常见用途是将子域映射到其他人控制的主机。
在“A”记录的情况下,如果他们更改了 IP 地址,您不需要更改您的 DNS 条目。
这方面的一个例子是WordPress 子域映射。WordPress 允许您在“blog.mydomain.com”之类的网站上创建博客,但他们的博客是云托管的,并且可能由于服务器维护、故障转移或负载平衡而动态更改 IP 地址。使用 CNAME 意味着它仍然有效。
如果您有多个指向同一站点的域:
带A记录:你的每一个域名都指向你网站的IP,当你改变你的服务器IP时,你需要多次更新。
使用CNAME:您的每个域都指向一个CNAME,当您的服务器IP发生变化时,您只需更新该CNAME的A记录。
如果您有一个不属于您的域,或者您无法控制它将指向的内容,则只能使用 CNAME。