%20%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C%D1%8E%20DNS.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 и, в частности, в записях _acme-challenge TXT, которые создаются для Let's Encrypt.
решение1
Похоже, эта ситуация описывается в разделе 2.2.2 RFC 4592 (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-резолверам, через которые проходит ваш запрос, и покажет вам окончательный ответ от уполномоченного сервера имен, который должен исключить любые проблемы с кэшированием.