Я заметил неожиданное поведение при использовании Azure DNS Zones.
У меня есть следующие записи DNS:
_acme_challenge.<mysubdomain1> IN TXT -> any value
* IN CNAME -> <mysubdomain2>.<mydomain>.com
<mysubdomain2> IN A -> <myIPaddress>
Если я сейчас делаю nslookup для: <mysubdomain1>.<mydomain>.com
я ожидаю получить действительный ответ для: myIPaddress
. Но запись TXT блокирует разрешение. После удаления TXT-Entry я получаю ожидаемый результат.
Вы знаете, правильно ли такое поведение? Для меня это кажется неправильным. Но не совсем понятно, работает ли он как положено и специально.
На эту же тему уже есть обсуждение: https://github.com/cert-manager/cert-manager/issues/806но не со значимым конечным результатом.
Надеюсь, вы можете помочь! Спасибо
сетевая система доменных имен azure dns-zone
2 ответа
На самом деле это ожидаемое поведение.
RFC1034 имеет эту информацию:
Подстановочные знаки RR не применяются:
Когда запрос находится в другой зоне. То есть делегирование отменяет подстановочные знаки по умолчанию.
Когда известно, что имя запроса или имя между подстановочным доменом и именем запроса существует. Например, если у RR с подстановочным знаком имя владельца «*.X», а зона также содержит RR, прикрепленные к BX, подстановочные знаки будут применяться к запросам для имени ZX (предполагая, что для ZX нет явной информации), но не на BX, ABX или X.
и это вторая пуля в игре здесь. Ваша запись вызова LetsEncrypt:
_acme_challenge.<mysubdomain1> IN TXT -> any value
представил имя <mysubdomain1>
и это отменило подстановочный знак. Что вам нужно:
<mysubdomain1> IN CNAME -> <mysubdomain2>.<mydomain>.com
как предложил @gapsf (у вас может быть это в дополнение к существующей подстановочной записи).
Томек
Пытаться