![通配符 CNAME DNS 记录在多个子域中有效吗?](https://linux22.com/image/726374/%E9%80%9A%E9%85%8D%E7%AC%A6%20CNAME%20DNS%20%E8%AE%B0%E5%BD%95%E5%9C%A8%E5%A4%9A%E4%B8%AA%E5%AD%90%E5%9F%9F%E4%B8%AD%E6%9C%89%E6%95%88%E5%90%97%EF%BC%9F.png)
我有一个这样的 CNAME 记录:
*.a IN CNAME example.com.
因此,任何以 结尾的地址都.a.example.com
指向example.com
(如www.a.example.com
、x.y.z.a.example.com
等)。
我添加此 CNAME 记录:
ex1.a IN CNAME example.net.
然后地址ex1.a.example.com
指向example.net
,而所有以 结尾的其他地址都.a.example.com
指向example.com
。
我添加另一条 CNAME 记录:
www.b.a IN CNAME example.org.
所以www.b.a.mydom.com
指向example.org
。
但有一个问题:
任何其他以 结尾的解析域请求.b.a.example.com
均未得到解决。我无法理解。
答案1
您的第一个记录基本上没问题,但我会添加一个像这样的明确 TTL(以 30 分钟 TTL 为例):
*.a 1800 IN CNAME example.com.
www.b.a
对于其他记录,我会做同样的事情。请注意,当您创建如下记录时:
www.b.a 1800 IN CNAME example.org.
它将覆盖*
的匹配b.a
。因此,此记录现在将成为 下的唯一记录b.a
。如果您想要 下有更多 CNAME,b.a
只需定义三个*
匹配,如下所示:
b.a 1800 IN CNAME example.org.
*.b.a 1800 IN CNAME example.org.
*.www.b.a 1800 IN CNAME example.org.
根据您的具体需求,您可能不需要全部三个。