我们可以为一个 Name 设置多个 CNAMES 吗?

Rag*_*y P 53 domain-name-system cname-record

我需要这个来进行负载平衡。例如,我有两个 azure 存储帐户(比如ab),它们的 blob 地址是a.blob.core.windows.netb.blob.core.windows.net。它们都存储相同的数据。现在我需要提供一个example.com指向两个存储帐户并且应该在循环中工作的外部名称(比如)。如果我在 DNS 中创建两个 CNAME 条目,如下所示,并且它在循环中解析为其中之一,则可以实现这一点。

  1. example.com 名称 a.blob.core.windows.net
  2. example.com 名称 b.blob.core.windows.net

但是我无法在 Windows DNS 服务器中为单个名称创建两个 CNAME 记录。

那么有可能吗?

Eva*_*son 65

同一个完全限定域名的多个 CNAME 记录违反了 DNS 规范。某些版本的 BIND 允许您执行此操作(某些版本仅当您指定multiple-cnames yes选项时)并且会在那时之间进行循环负载平衡,但这在技术上是不合法的。

不应该有与 CNAME 同名的资源记录 (RR),并且,挑剔,这将包括多个相同的 CNAME。引用 RFC 1034,第 3.6.2 节:

如果节点上存在 CNAME RR,则不应存在其他数据;这可确保规范名称及其别名的数据不能不同。此规则还确保可以使用缓存的 CNAME,而无需向权威服务器检查其他 RR 类型。

处理您正在做的事情的 RFC 信函方法是使用单个 CNAME 引用负载平衡的“A”记录。


Dav*_*rtz 14

你不能。CNAME 使一个人为另一个人记录另一个名字。如果一个记录可以有两个名称的 CNAMES,那么它们中的任何一个都不会是另一个名称,而是一个全新的名称,使得 CNAME 条目不合适。

不过,可能有一个很好的方法来解决您的外部问题。例如,您可以有多个 A 记录。