it-swarm.cn

通配符CNAME DNS记录有效吗?

我知道拥有一个通配符的DNS A记录是有效的(例如* .mysite.com)。是否可以/有效/建议使用通配符CNAME记录?

89
Ben Mills

可以这样做。在某一时刻它悬而未决,直到 4592 阐明了它应该得到支持。

仅仅因为有可能并不意味着所有DNS提供商都支持它。例如,GoDaddy不允许您在CNAME记录中设置通配符。

关于是否建议这样做,取决于您的用法。通常,当您指向不控制DNS的“外部”域名时,CNAMES通常用于方便使用。

例如,假设您设置了一个CMS系统,该系统允许您将* .mycms.com作为站点名称(它使用主机标头)。您希望客户能够轻松设置* .cms.customer.com,而不必担心您可能会在某个时候更改IP地址。在这种情况下,您可以建议他们将通配符CNAME设置为www.mycms.com,名为* .cms.customer.com。

由于并非所有提供程序(例如GoDaddy)都支持通配符CNAMES,因此,如果您为各种客户建议使用通配符CNAMES(您不知道其提供程序的功能),我不建议您使用通配符。

62
Adam Brand

我加了线

*.www        IN CNAME        my_webserver

到我的绑定配置中的区域文件,效果很好(即whatever.www.domain.comwhatever2.www.domain.com全部指向my_webserver

也可以通过添加以下行来添加例外

exception.www        IN CNAME        another_server

以便 exception.www.domain.com指向another_server

21
Ztyx

只需添加 Amazon Route 53 支持任何记录中的通配符 类型

因此,您可以安全地将Route 53用作DNS提供程序。

12
balexandre

我们一直使用通配符dns,并且没有任何问题。如果将其指向ipaddres,请使用:

*.mysite.com     Host (A)    Default     xxx.xxx.xxx.xxx

如果要使用别名,请执行以下操作:

*.mysite.com.   IN CNAME mysite.com.
4
Colt Blake

据我所知,您可以做到这一点,但是CNAME不能被任何其他记录类型使用,例如NS或MX。

不太确定您要使用“通配符”实现什么,因此我必须给出一个通用的答案:)

为了明确起见,CNAME aserver.domain表示您不能具有另一个名称。aserver.domain

有例外,但是我不知道您是什么,您也不是很确定,并且不确定要做什么,所以我不会浪费时间。

4
MattB

创建CNAME记录时,在指向服务器的末尾加点,例如:*。mydomain.com。注意最后一个点

2
Jesus Mogollon

现在可以正常工作了。

只需在Godaddy的区域文件编辑器或DNS管理器的cname部分中使用“ *”,即可指向IP或DNS名称。

以我为例,我将其与指向Microsoft Azure云服务的DNS名称一起使用,并且效果很好。这适用于bla.domain.ext,但也适用于bla.bla.domain.ext。对于其他提供商,可能会有所不同。

1
Martijn van Halen

这是我测试的结果。我删除了mysite.com和www.mysite.com的A记录,并为* .mysite.com添加了CNAME记录。该测试无效。 mysite.com无法解决。需要明确的是,我将OpenDNS用于我的DNS服务器。也许它可以与其他DNS服务器配合使用,但是我显然希望它能够普遍运行。基于这些结果,我将坚持使用标准A记录。

1
Ben Mills