如何为域的根名称创建 CNAME

12 domain-name-system cname-record

我想将域的根名称设置为 CNAME 而不是通常的 A 记录。

这是我正在尝试做的一个完美的例子:

dig lrnskls.com
Run Code Online (Sandbox Code Playgroud)

注意答案部分:

;; ANSWER SECTION:

lrnskls.com.            300     IN      CNAME   partner.adjix.com.

partner.adjix.com.      300     IN      A       67.121.212.61
Run Code Online (Sandbox Code Playgroud)

我尝试这样做的原因是我可以通过 CNAME 别名将域的根名称指向 Amazon 的 S3。使用 A 记录不起作用,因为出于负载平衡目的,S3 的 IP 每隔几分钟就会更改一次。

PS - 根据 RFC 1034 的第 3.6.2 节,这似乎是合法的(注意 USC-ISIC.ARPA 示例):http : //www.faqs.org/rfcs/rfc1034.html

hda*_*iel 14

Amazon已经意识到根域和 Elastic Load Balancer 的问题。他们推荐这种解决方法:

  • 将根域配置为将 mydomain.com 重定向到 www.mydomain.com(或您选择的任何其他子域)的服务
  • 设置将负载均衡器 DNS 名称映射到“www.mydomain.com”的 CNAME 记录。

我不喜欢这个解决方案,但比“强制根域到 CNAME”解决方案更“干净”。

更新:亚马逊现在通过 ALIAS 记录(Route53 DNS 功能)为 ELB/S3 解决这个问题。

  • +1 用于指出执行此操作的合规方式。重新表述此解决方案(另请参阅链接的 Amazon 答案):您使用有效的 SOA 为根域创建有效的 A 记录。该 A 记录指向您已签约将 HTTP 级别 301 / 302 重定向发送到 www.mydomain.com 的第 3 方服务。 (5认同)

小智 10

不,这是不合法的。CNAME不允许与其他记录共存,您至少需要在SOA这里。

该示例并没有证明其他情况,因为它并不意味着那里有任何其他记录。

  • 实际上,正确的解决方案是不委托 example.com 并说服 .COM 注册管理机构 Verisign 在 .COM 区域中添加 CNAME...技术上合理,但 Verisign 和 ICANN 肯定会找到非技术原因拒绝它. (3认同)