我有根域的以下 DNS 条目example.com
:
*
CNAME 记录指向foo.com
dummy.api
包含值的 TXT 记录dummy
当我尝试解析时bla.foo.com
,它会正确解析为 CNAME 条目,但当我尝试解析时api.foo.com
,DNS 服务器无法解析。如果有 TXT 条目,这对我来说是有意义的api.foo.com
,但在这种情况下,只有更具体的域 TXT 条目dummy.api.foo.com
。
是否预计更具体的域会覆盖通配符匹配,即使它只是部分匹配,就像本例一样?除了为添加显式 CNAME 记录外,还有其他方法可以解决这个问题吗api
?
背景:这发生在 Azure DNS 上,特别是为 Let's Encrypt 创建的 _acme-challenge TXT 记录上。
答案1
看起来这种情况在 RFC 4592 的第 2.2.2 节中有所涉及(https://www.rfc-editor.org/rfc/rfc4592),这表明该记录dummy.api.example.com
会导致隐式存在一条空记录api.example.com
,这就是通配符条目停止匹配的原因。因此,唯一的解决方案是添加一个显式条目,其api.example.com
CNAME 与通配符相同。
答案2
DNS 记录是何时创建/修改的?请尝试检查以下条目: https://www.whatsmydns.net/
您正在尝试如何解析 DNS 条目?
如果您正在使用 Linux 终端,请尝试以下命令:
dig a api.foo.com +trace
这将为您提供请求经过的所有 DNS 解析器的完整输出,并显示权威名称服务器的最终答复,这应该可以排除任何缓存问题。