
我有以下根域的 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 解析器的完整輸出,並向您顯示來自權威名稱伺服器的最終回复,這應該會排除任何快取問題。