Недавно поигрался с DNS-сервисом Digitalocean и обнаружил странную проблему, которой нет у других DNS-провайдеров.
Если в записи есть подчеркивание, все последующие обновления этой зоны не вступят в силу, если эта запись не будет удалена.
Это означает, что файл зоны обновлен, но внешний запрос DNS получит ответ только от предыдущих записей.
Я могу исключить DNS-кеширование, вызывающее проблему, поскольку новая запись всегда будет получать NXDOMAIN, и я попытался запросить корневой DNS-сервер моего домена. Я даже пытаюсь сделать запрос после TTL, но результат такой же, как у старого файла зоны.
Мне любопытно, что это за проблема? И в какой ситуации это произойдет?
Я сомневаюсь в поддержке Digitalocean, но они, кажется, заняты и не заинтересованы в этом вопросе.
Поэтому я публикую здесь вопрос, надеюсь, что кто-то сможет указать мне на ответ.
Это одно из различий между DNS-серверами Windows и Unix. Серверы Windows рассматривают подчеркивание как допустимый символ. Серверы на базе Unix (в частности, BIND) этого не делают. Для последнего есть обходной путь: создать действительную запись A (без подчеркивания), а затем создать CNAME (с подчеркиванием), которая указывает на имя хоста в записи A. Это немного сложно, но полезно при работе с клиентами, которые настаивают на использовании подчеркивания в именах хостов.
Если проблема связана только с DNS-сервисом Digitalocean, они практически единственное место, которое может вам помочь. Если они отказываются вам помогать (поддержка кажется занятой), вам следует поискать другую услугу.