%20DNS%20%E3%82%A8%E3%83%B3%E3%83%88%E3%83%AA%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E7%A0%B4%E5%A3%8A%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82.png)
ルート ドメインには次の 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
、ワイルドカード エントリの一致が停止する理由です。したがって、唯一の解決策は、ワイルドカードと同じ CNAME を持つ の明示的なエントリを追加することですapi.example.com
。
答え2
DNS レコードはいつ作成/修正されましたか? 次のようなエントリを確認してみてください: 出典:
DNS エントリをどのように解決しようとしていますか?
Linux ターミナルを使用している場合は、次のような操作を試してください。
dig a api.foo.com +trace
これにより、リクエストが通過するすべての DNS リゾルバを介した完全な出力が得られ、権威ネーム サーバーからの最終応答が表示されるため、キャッシュの問題が排除されます。