创建子域名条目 - 我应该添加指向 @ 的 CNAME 记录还是创建新的 A 记录?

创建子域名条目 - 我应该添加指向 @ 的 CNAME 记录还是创建新的 A 记录?

A记录数少点好还是几十条好CNAME,还是反之?

每个唯一 IP 对应一个(或几个) A 记录,每个 A 记录对应多个 CNAME 记录:

@   3600    IN  A   123.123.123.123

a   3600    IN  CNAME   @
b   3600    IN  CNAME   @
c   3600    IN  CNAME   @

一堆 A 记录:

@   3600    IN  A   123.123.123.123
a   3600    IN  A   123.123.123.123
b   3600    IN  A   123.123.123.123
c   3600    IN  A   123.123.123.123

答案1

更好什么?

从性能角度来看,使用这些记录会稍微好一些(我所说的“稍微”是指“技术上,但不明显”)A,因为您的 DNS 响应不需要包含额外的数据。

如果CNAME指向您的服务器不具有权威性的另一个域,则可能会产生更大的影响,因为解析器需要发出更多请求才能获得结果......但在您提供的示例中,性能影响完全可以忽略不计。

从可管理性角度来看,这CNAME可能更容易,因为您只需进行一次更改而不是多次更改即可解决系统的 IP 更改。

如果部署像您提供的示例一样简单,那么无论哪种方式都无所谓。

答案2

拥有较少的 A 记录和数十个 CNAME 记录是否更好,还是反之亦然?

不。说得更直白些,真的没有太多理由偏爱其中一个,只要您不在整个过程中将 CNAME 指向 CNAME。

选择 CNAME 的主要优点在于您不必为每个子域添加 MX 记录或其他临时记录。主要缺点在于,如果不转换回 A 记录,您就无法更改这些记录。

答案3

回复:CNAMEvs A- 根据其他答案,这对性能来说确实不重要。

但是,如果您确实使用了CNAME,请不要将其作为指向的指针@,而是将其作为指向区域中其他子域的指针。

原因是@还包含其他记录,例如您的SOA、、记录等NSMX

如果您CNAME指向@,那么所有其他记录也将(错误地)开始存在于您的别名子域中。

顺便说一句,如果您的 Web 主机变为多宿主(即它有多个A记录,甚至一个AAAAA),那么CNAME到真实主机的记录只需维护一条。如果您使用了A记录,则需要为每个子域重复复制列表。

相关内容