通配符 DNS 項目被更具體(但不符)的 DNS 項目破壞

通配符 DNS 項目被更具體(但不符)的 DNS 項目破壞

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

相關內容