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

评论

顺便说一句:这仍然无法让您将mysite.com本身设置为CNAME。

#1 楼

可以这样做。直到4592明确声明应该支持它为止,它还是悬而未决。

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

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

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

因为并非所有提供商(例如GoDaddy)都支持通配符CNAME,所以如果您向不同的客户建议(不知道他们的提供商的名称),我不建议使用它功能)。

评论


实际上,您可以使用GoDaddy设置通配符DNS。只需将主机设置为“ **”。

–克里斯·彼得施曼(Chris Pietschmann)
2010-12-14 15:23

我看到**被GoDaddy的DNS管理器工具接受,但是它可以用作通配符吗?似乎是一个未记录的功能。

– Dunxd
2011-09-13 14:30

我已经测试过:**在GoDaddy DNS中不能用作通配符。我多次致电以确保在由于这个原因而切换到另一个提供商之前,没有办法(即使使用他们的Premium DNS)也是如此。

– mltsy
2012年7月18日在19:49

@mltsy:我们的主要站点之一与GoDaddy一起使用通配符dns。我们已经有几年了,我们没有使用他们的Premium DNS。另外,它不是*。

–NotMe
13年1月1日在2:22

@DaveKanter哦,对了。文章声明仅提及A记录。不过,我已经在今年2月为客户成功设置了通配符* CNAME记录。使用GoDaddy仪表板。我确认它可以像人们期望的那样工作。

– e1v
19年5月7日在9:07



#2 楼

我在绑定配置中将行

*.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

#3 楼

只是要补充一下,Amazon Route 53支持任何记录类型的通配符。

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

#4 楼

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

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


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

*.mysite.com.   IN CNAME mysite.com.


评论


当我们使用通配符ssl证书(ssl.com)时,我们希望每个用户都具有username.mysite.com,因此第一个设置对我们来说效果很好

–瑜伽士
13年2月11日在3:42



#5 楼

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

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

为了澄清,CNAME服务器.domain表示您不能使用其他名称。aserver.domain

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

评论


感谢您关于与同一个域的另一种记录类型共享CNAME记录的警告。我遇到了类似的问题,我的DNS服务器通常会警告我有关冲突的信息,但在这种情况下,这并不是因为CNAME用于* .example.com,而额外的记录(TXT记录)则用于特定的子域subdomain1。 example.com。因此它没有引起冲突!哎呀

–Paul d'Aoust
16 Dec 5'在18:56



#6 楼

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

#7 楼

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

评论


这不是预期的行为吗?据我所知,无论RR类型如何,*。mysite.com都不与mysite.com相匹配。这对A记录有用吗?

– markdrayton
09年7月23日在19:52

不,“匹配一个或多个标签,因此“ .example.com”与“ example.com”不匹配

– Alnitak
09年7月24日在7:53

我不知道,但这是有道理的。因此,看来我至少需要一个A记录作为根域名,然后才能使用通配符CNAME记录来覆盖其他所有内容。那不是我真正想要的解决方案,但至少我知道。

– Ben Mills
09年7月25日在14:36

#8 楼

现在就可以使用。

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

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

评论


DNS CNAME记录不是指向URL或IP,而是指向具有CNAME条目的名称等效的单个DNS名称。

–猎鹰Momot
13年8月31日在2:22

注意,我改变了答案

–马丁·范·哈伦(Martijn van Halen)
2013年9月6日13:22