通配符CNAME DNS记录有效吗?


Answers:


60

可以这样做。有一点它悬而未决,直到4592澄清它应该得到支持。

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

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

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

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


8
实际上,您可以使用GoDaddy设置通配符DNS。只需将主机设置为“ **”。
— 克里斯·彼得施曼

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

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

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

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

20

我加了线

*.www        IN CNAME        my_webserver

到我的绑定配置中的区域文件,并且效果很好(即whatever.www.domain.com,whatever2.www.domain.com所有指向my_webserver。

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

exception.www        IN CNAME        another_server

因此exception.www.domain.com指出another_server。



4

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

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

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

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

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

4

据我所知,您可以执行此操作,但随后CNAME不能被任何其他记录类型(如NS或MX)使用。

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

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

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


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

2

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


1

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


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

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

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

1

现在可以正常工作了。

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

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


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

注意,我更改了答案
— Martijn van Halen 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.