Ошибки DNS при подключении домена: диагностика за 10 минут
Ошибки DNS при подключении домена: разбор A/AAAA/CNAME, TTL и конфликтов записей, плюс быстрая диагностика за 10 минут и причины сбоев SSL.

Что обычно ломается при подключении домена
Собственный домен решает простую задачу: чтобы проект открывался по привычному адресу (например, mysite.ru) и работал с HTTPS. На практике сбои почти всегда связаны не с платформой, а с DNS-настройками или ожиданием, пока изменения разойдутся.
Чаще всего проблема выглядит так: сайт не открывается, открывается "не тот" сайт (старый хостинг, парковочная страница регистратора), или все работает по HTTP, но HTTPS не включается, и браузер ругается на сертификат. Еще один частый сценарий - открывается главная страница, а поддомен (например, app.mysite.ru) ведет в никуда.
Важно быстро понять, где ошибка: в DNS или в приложении. Если домен указывает на неправильный IP или на чужое имя, приложение может быть полностью исправным, но запросы до него просто не доходят. И наоборот: если DNS уже указывает верно, а вы видите 500-ю ошибку или пустую страницу, тогда стоит проверять деплой и настройки самого проекта.
Без глубоких знаний можно сделать несколько быстрых проверок:
- Убедиться, что записи DNS действительно изменены в зоне (а не просто "сохранены" в мастере).
- Проверить, что настраиваете нужное имя: корень домена (mysite.ru) и поддомен (www.mysite.ru) - это разные записи.
- Если "то работает, то нет", помнить про TTL и кэш: изменения применяются не сразу.
- Если HTTPS не появляется, частая причина - домен пока резолвится нестабильно или есть конфликт записей.
На TakProsto это обычно проявляется так: вы подключили домен к проекту, но в браузере продолжает открываться старый сайт или сертификат не выпускается. В большинстве случаев это решается за несколько минут: достаточно проверить записи и убрать конфликтующие настройки.
База DNS без сложностей: домен, поддомен и записи
Многие ошибки DNS при подключении домена начинаются с путаницы в простых вещах: что именно вы подключаете и куда должны вести записи.
Домен в корне - это адрес без префикса, например example.ru. Поддомен - любая приставка слева: www.example.ru, app.example.ru, api.example.ru. Важно: example.ru и www.example.ru - разные адреса, и DNS для них настраивается отдельно. Частая ошибка - подключить только www и удивляться, что без www сайт не открывается (или наоборот).
DNS-запись - это строка в настройках регистратора (или DNS-провайдера), которая говорит: "когда кто-то спрашивает этот адрес, отвечай вот так". Ответом может быть IP-адрес или другое имя хоста - зависит от того, что требует сервис.
Обычно сервис для подключения домена дает одно из двух: IP-адрес (тогда нужна A-запись, иногда еще AAAA для IPv6) или имя хоста вида something.service.com (тогда чаще нужен CNAME для поддомена). Часто также уточняют, что именно привязывать (корень, www или оба) и сколько ждать обновления.
Почему изменения не применяются мгновенно: DNS кэшируется. У записей есть TTL - время, на которое результат сохраняют провайдеры, устройства и сети. Если TTL был большим, вы исправили запись, а часть мира еще несколько часов видит старую версию.
Пример: вы подключаете кастомный домен к приложению в TakProsto и получаете имя хоста для CNAME. Если по ошибке внести его в корень домена (где CNAME часто нельзя использовать) или забыть настроить www, часть пользователей попадет не туда. Дальше начинаются вторичные симптомы: проблемы со страницей и выпуском сертификата.
A, AAAA и CNAME: как выбрать правильный тип записи
Большая часть "магии" с доменом сводится к тому, что выбран не тот тип записи. Из-за этого возникают ошибки DNS при подключении домена: сайт открывается не там, где нужно, или сертификат так и не выпускается.
A-запись указывает IPv4-адрес сервера. Она нужна, когда сервис просит: "впишите IP" или когда вы подключаете корень домена (example.ru) к конкретному хостингу. Проверяющие системы идут по этому IP и ожидают увидеть ваш сайт.
AAAA-запись делает то же самое, но для IPv6. Если ваш сервер не настроен на IPv6, AAAA может мешать: часть пользователей пойдет по IPv6 и увидит таймаут или чужую страницу. Типичный симптом: "у одних открывается, у других нет". В таком случае либо настраивают IPv6, либо временно убирают AAAA.
CNAME говорит: "этот поддомен равен другому имени". Он удобен для www, потому что вы привязываетесь к имени сервиса, а не к IP. Но у корня домена (example.ru) CNAME часто нельзя поставить у многих регистраторов и DNS-панелей: корень должен содержать служебные записи (SOA, NS), и CNAME там конфликтует.
Практичная схема, которая подходит в большинстве случаев:
- корень домена (
example.ru): A (и AAAA - только если IPv6 точно работает) - поддомен
www: CNAME на имя, которое дает сервис
Как выбрать по инструкции сервиса (например, при подключении своего домена в TakProsto или похожих платформах)? Если дали IP - ставьте A. Если дали "target" в виде имени (что-то вроде app.vendor.example) - ставьте CNAME для поддомена. Если в инструкции явно не сказано про IPv6, не спешите добавлять AAAA: лишняя запись чаще ломает, чем помогает.
TTL и кэш: почему DNS "не обновился"
TTL (time to live) - это время, на которое DNS-ответ можно сохранить в кэше. Проще: вы поменяли запись, а кто-то еще видит старую, потому что она не "протухла".
У каждой записи (A, AAAA, CNAME) свой TTL. Если TTL был 3600 секунд, то до часа разные устройства и сети могут получать разные ответы. Из-за этого кажется, что "DNS не работает", хотя изменения уже разошлись частично.
Откуда берется кэш и почему он путает
Кэш бывает в нескольких местах: на вашем компьютере, на домашнем роутере, у DNS-сервера провайдера, иногда в корпоративной сети. Даже браузер может показывать старую картину из-за кэша соединений и HSTS, особенно когда вы параллельно проверяете выпуск сертификата.
Поэтому выводы по одному устройству или одной сети часто ошибочны. Типичный сценарий: домен для приложения (например, на TakProsto с подключенным собственным доменом) на телефоне по мобильной сети уже открывается, а на рабочем ноутбуке в офисе еще ведет на старый сервер.
Минимум проверьте в двух разных сетях, а при сомнениях - добавьте третью. Инкогнито помогает как быстрый способ убрать часть браузерного кэша, но DNS-кэш оно не отменяет.
Когда имеет смысл временно снизить TTL
Если планируется перенос домена или смена IP, TTL лучше уменьшить заранее. Делать это за 5 минут до переключения обычно бесполезно: старое значение уже разошлось и попало в кэши.
Практичный порядок:
- снизить TTL до 300-600 секунд за 12-24 часа до переноса
- дождаться, пока новый TTL "проживет" хотя бы один цикл
- выполнить переключение записей
- после стабилизации вернуть TTL на 1800-3600 секунд
Так вы сокращаете окно, когда часть пользователей видит старые записи, и быстрее доходите до выпуска SSL, которому нужен правильный DNS-ответ "прямо сейчас".
Конфликты записей: самые частые причины странного поведения
Большая часть "магии" с доменом на самом деле сводится к конфликтам. Из-за них один и тот же адрес то открывается, то нет, а выпуск SSL может зависать. Это классические ошибки DNS при подключении домена: записи выглядят "почти правильно", но DNS выбирает не то, что вы ожидаете.
Что чаще всего конфликтует
Самый жесткий запрет: на одном и том же имени нельзя держать CNAME и любые другие записи (A, AAAA, MX, TXT). Если www сделан CNAME на ваш хост, то у www не должно быть A или AAAA.
Вторая частая причина - дубли A-записей с разными IP "на всякий случай". Тогда часть пользователей попадает на старый сервер (или на парковку), а часть - на новый.
Третья путаница - @ (корень домена) и www. Настраивают только www, а корень оставляют на старом IP. В результате по одному адресу все работает, по другому - нет.
Как заметить конфликт прямо в панели регистратора
Откройте список записей и быстро проверьте:
- нет ли у одного имени одновременно CNAME и A/AAAA
- сколько A-записей у
@иwww, и ведут ли они туда, куда нужно - не стоит ли "случайный" AAAA (IPv6), который перехватывает часть трафика
- не остались ли записи от прежнего хостинга, которые вы больше не используете
- не создана ли запись для неправильного имени (например,
www.example.comвместоwww)
Если подключаете домен к проекту на TakProsto (кастомный домен и SSL), конфликты часто выглядят одинаково: домен добавлен в панели, но проверка не проходит, потому что запросы реально уходят на другой IP или на имя, которое конфликтует с лишними записями.
После правки удалите лишнее, оставьте один понятный вариант для каждого имени и дождитесь обновления с учетом TTL.
Почему не выпускается SSL: типовые причины без мистики
Когда SSL-сертификат "не выпускается", почти всегда проблема не в сертификате, а в том, что проверка владения доменом не может пройти. Центр сертификации пытается обратиться к вашему домену и убедиться, что он ведет на правильный сервер и отвечает ожидаемым образом.
Самые частые причины
-
Сертификат выпускается не на тот хост. Вы настроили
example.ru, а проверяетеwww.example.ru(или наоборот). Для SSL это разные имена. Если в настройках платформы (например, при подключении кастомного домена в TakProsto) указан один вариант, а DNS ведет на другой, проверка легко "промахнется". -
Домен еще не указывает на нужный сервер из-за DNS или кэша. Вы поменяли A/AAAA/CNAME, но часть резолверов еще видит старый адрес. В итоге проверка может попадать то на новый сервер, то на старый.
-
Включен прокси или защита у DNS-провайдера. Некоторые режимы "оранжевого облака", антибота или принудительной фильтрации подменяют ответы и мешают проверке владения.
-
Сервер не отдает корректный ответ именно для этого домена. Например, хостинг принимает запросы только на технический домен, а ваш домен не добавлен в конфигурацию. Тогда вместо сайта отдается 404, заглушка или чужая страница.
-
Редиректы мешают выпуску. Часто включают принудительный редирект с HTTP на HTTPS еще до получения сертификата. Получается замкнутый круг: HTTPS требует сертификат, а сертификат не выпускается, потому что проверка не проходит по HTTP.
Перед повторной попыткой полезно сделать короткую самопроверку:
- сертификат нужен для точного имени (с
wwwи без - это разные варианты) - DNS стабильно смотрит на нужный IP или CNAME и не "скачет" из-за кэша
- прокси/защита не подменяют ответы
- сервер отвечает для домена без редиректа на HTTPS до выпуска
- нет лишних записей, которые перетягивают трафик в другое место
Диагностика за 10 минут: пошаговый план проверки
Если домен не открывается или "сертификат не выпускается", чаще всего это обычные ошибки DNS при подключении домена. Ниже - план, который реально уложить в 10 минут.
Быстрая проверка по шагам
-
Запишите, какие адреса должны работать: корень (
example.ru),www, и только потом остальные поддомены (api, app и т.д.). Каждый хост настраивается отдельно. -
Откройте DNS-зону у регистратора (или в DNS-провайдере) и посмотрите записи именно для этих имен. Сразу ищите конфликты: на одном имени не должно быть CNAME вместе с A/AAAA. Обратите внимание и на "забытые" записи от прошлого хостинга.
-
Сравните текущие значения с тем, что требует сервис. Например, в TakProsto в настройках домена обычно указан конкретный IP для A-записи или целевой хост для CNAME. Если отличается хотя бы символ - домен уйдет не туда.
-
Отдельно проверьте AAAA. Если у сервиса нет поддержки IPv6, но у вас есть AAAA, часть пользователей будет ходить по IPv6 и видеть ошибки, даже если A-запись верная.
-
Посмотрите TTL у измененных записей. Если TTL 3600, то ситуация "все исправил, а не работает" часто объясняется кэшем. Зафиксируйте время изменения и подождите хотя бы один TTL перед повторной проверкой.
Затем проверьте из другой сети: переключитесь на мобильный интернет или попросите коллегу посмотреть у себя. Так вы отсечете локальный кэш и поймете, проблема в DNS или в конкретном устройстве.
Для контроля удобно использовать nslookup (Windows) или dig (macOS/Linux) и сравнить ответы для A/AAAA/CNAME с тем, что вы ожидаете увидеть.
Частые ошибки и ловушки, на которые тратят часы
Большая часть проблем при подключении домена выглядит как "DNS уже настроил, а сайт то открывается, то нет" или "сертификат не выпускается". Обычно причина простая: запись выбрана не та, правки сделаны не там, где нужно, или изменения еще не успели разойтись.
Одна из самых дорогих по времени ошибок - пытаться поставить CNAME на корень домена (example.ru). Многие DNS-панели это запрещают или делают через "ALIAS/ANAME", а пользователь думает, что все в порядке. Для корня чаще нужен A (и иногда AAAA), а CNAME удобнее для поддоменов вроде www.
Вторая типовая ловушка - "мусор" из старых записей. Вы поменяли A-запись, но рядом остался AAAA на старый IPv6 или старый CNAME для того же имени. В итоге часть резолверов отвечает по одной записи, часть - по другой, и поведение кажется случайным.
Еще одна частая ошибка: путают регистратора и DNS-хостинг. Домен куплен у одного провайдера, а NS указывает на другой, но правки делают в панели регистратора. В реальности зона обслуживается там, куда смотрят NS.
И последнее, что ломает ожидания: сервис проверяет конкретное имя хоста. Если вы подключаете custom domain в TakProsto, проверка и выпуск SSL обычно идут для точного FQDN (например, app.example.ru), а не "для всего домена".
Если свести самые затратные ошибки к короткому списку, обычно это:
- корень и
wwwнастроены по-разному, хотя должны вести в один проект - в зоне остались конфликтующие A/AAAA/CNAME на одном имени
- NS указывают на один DNS-хостинг, а правки делаются в другом
- запуск SSL сразу после правок, без ожидания TTL
- проверка не того имени (например, смотрите
example.ru, а сервис ожидаетwww.example.ru)
Хорошее правило: сначала добейтесь стабильного ответа DNS для нужного хоста, и только потом переходите к SSL.
Быстрый чеклист перед выпуском сертификата
Перед тем как нажимать "выпустить SSL" (в TakProsto это обычно шаг после привязки домена), стоит потратить 2-3 минуты на короткую проверку.
5 вещей, которые должны совпасть
- Вы точно знаете, где редактируется DNS, и правите записи именно там, куда делегирован домен (с учетом NS).
- Для корня домена (
@) задан правильный тип и значение. Чаще всего это A-запись на нужный IP. - Для
wwwвыбран один понятный сценарий: обычно CNAME на целевое имя, которое выдает сервис. - Нет конфликтов на одном имени: CNAME не соседствует с A/AAAA/TXT.
- TTL разумный, и вы дали DNS время разойтись. Если TTL был 3600, "догонять" может до часа, плюс мешает кэш провайдера и браузера.
Сверьте имена для сертификата
Список доменов в сертификате должен совпадать с тем, что реально настроено в DNS. Если вы хотите сертификат на example.ru и www.example.ru, то оба имени должны вести на ваш проект. Частый провал: настроили только @, а www забыли, но в заявке на сертификат он есть.
Мини-сценарий: домен открывается без www, а с www показывает старый сайт. Почти всегда это отдельная запись для www (или конфликт), а не "проблема SSL".
Пример из жизни: домен переехал, а DNS остался старый
Клиент переносил сайт на новый проект и хотел подключить domen.ru и www.domen.ru. Раньше домен вел на старый VPS, а теперь проект развернули на TakProsto и включили свой домен в настройках.
Допустили типичную ошибку: для корня (@) оставили старую A-запись на прежний IP, а для www добавили CNAME на новый адрес. В итоге DNS стал вести в две разные стороны. Часть людей открывала domen.ru и видела старый сайт, а часть заходила на www.domen.ru и попадала уже на новый. Из-за этого HTTPS тоже не включался: проверка домена для сертификата то попадала на старый сервер, то на новый.
Симптомы были такие:
- в одном браузере сайт открывается, в другом показывает старую версию
- без
wwwработает одно, сwww- другое - сертификат не выпускается или висит в ожидании
- периодически появляется "небезопасное соединение"
Исправление заняло несколько минут. Сначала удалили лишние и конфликтующие записи у DNS-провайдера: оставили один понятный вариант для @ и настроили www так, чтобы он вел туда же (обычно через CNAME на целевое имя или через одинаковую A-запись, если так требует платформа). Дополнительно проверили AAAA: если он указывает на старый IPv6, часть клиентов будет ходить именно туда.
После правок просто дождались TTL. Пока кэш не обновился, "плавающее" поведение сохранялось. Через некоторое время и domen.ru, и www.domen.ru стали открывать один и тот же проект, а выпуск SSL прошел без сюрпризов.
Следующие шаги: закрепляем настройку и упрощаем поддержку
Когда DNS уже "починили", легко расслабиться, а потом снова наступить на те же грабли. Лучше потратить еще 10 минут и закрепить результат, чтобы ошибки DNS при подключении домена не повторялись при следующем деплое или переносе.
Сначала зафиксируйте базовые требования: какие имена подключаете (например, example.ru и www.example.ru), какая запись нужна для каждого (A/AAAA или CNAME), и где именно редактируете DNS (панель регистратора, DNS-хостинг, корпоративный провайдер). Один домен часто "живет" у регистратора, а DNS управляется в другом месте - это главный источник путаницы.
Дальше планируйте изменения с учетом TTL. Если меняете записи в рабочее время, заложите окно, когда старый кэш еще будет гулять. Для важных переключений удобно заранее уменьшить TTL (например, за сутки), затем менять A/AAAA/CNAME и после стабилизации вернуть TTL обратно.
Не торопитесь запускать SSL сразу после правок. Сертификат логично выпускать только когда DNS стабилизировался: нужные записи видны в нескольких проверках подряд, и нет конфликтов (например, A и CNAME на одном имени).
Чтобы не собирать настройки каждый раз с нуля, заведите простой шаблон: какие хосты нужны (корень, www, API-поддомен), тип записи и целевое значение для каждого, нужен ли IPv6, какой TTL и какое "окно ожидания", а также кто отвечает за DNS и кто подтверждает результат.
Если вы часто запускаете проекты, помогает единый процесс развертывания. В TakProsto домен обычно подключают уже к развернутому приложению, а дальше удобно контролировать релизы: сделали деплой, проверили, и если после смены DNS или выпуска сертификата что-то пошло не так, можно быстро откатиться через снапшоты и rollback. Для справки и внутренних заметок удобно просто держать в одном месте данные проекта и домена, например в аккаунте TakProsto на takprosto.ai.
Простой пример: вы подключили www через CNAME, но забыли, что для корня домена нужен A/AAAA. Запишите это правило в шаблон, и в следующий раз настройка займет минуты, а не вечер.
FAQ
Почему после подключения домена открывается старый сайт или парковочная страница?
Сначала проверьте, куда реально указывает DNS сейчас: часто корень домена или www все еще ведут на старый IP или парковку регистратора. Если в TakProsto домен уже добавлен, а в браузере открывается «старый сайт», почти всегда проблема в A/CNAME-записях, а не в проекте.
Почему без www сайт работает, а с www — нет (или наоборот)?
Корень домена (example.ru) и www.example.ru — разные имена, у них разные DNS-записи. Надежный вариант: настроить оба так, чтобы они вели в один и тот же проект, и затем проверять именно те адреса, которые добавлены в настройках домена в TakProsto.
Как понять, какую запись ставить: A, AAAA или CNAME?
Если сервис выдал IP-адрес, нужна A-запись (и AAAA только если у вас точно настроен IPv6). Если сервис выдал «целевое имя» хоста, обычно нужен CNAME для поддомена (например, www). Ошибка в типе записи приводит к тому, что запросы не доходят до вашего проекта.
Почему у одних пользователей сайт открывается, а у других — нет?
Частая причина — лишняя AAAA-запись на IPv6, который у хостинга не обслуживается. Тогда часть устройств выбирает IPv6 и получает таймаут, а часть идет по IPv4 и открывает сайт. Если вы не уверены в IPv6, временно уберите AAAA и проверьте стабильность.
Сколько ждать после изменения DNS и почему «не обновилось»?
DNS кэшируется по TTL, поэтому после правки записей часть сетей еще видит старые значения. Дайте времени хотя бы один TTL, а при проверке используйте две разные сети (например, домашний интернет и мобильный). Это быстро показывает, проблема в кэше или в самих записях.
Какие конфликты DNS-записей ломают домен чаще всего?
На одном имени нельзя держать CNAME вместе с A/AAAA/TXT/MX: DNS будет работать непредсказуемо или не работать вовсе. Еще типичная ошибка — несколько A-записей на разные IP «на всякий случай», из-за чего трафик разъезжается. Оставьте один понятный вариант для каждого имени и удалите конфликтующие записи.
Почему не выпускается SSL-сертификат для домена?
Почти всегда проверка владения доменом не проходит, потому что домен еще не стабильно резолвится на нужный адрес или настроено не то имя (@ вместо www или наоборот). Также мешают прокси-режимы и защиты у DNS-провайдера, которые подменяют ответы. Сначала добейтесь стабильного DNS для нужного FQDN, и только потом повторяйте выпуск SSL в TakProsto.
Как понять, проблема в DNS или в самом приложении?
Часто причина не в DNS, а в деплое: если DNS уже указывает правильно, но вы видите 500-ю ошибку, пустую страницу или заглушку, значит запросы до приложения доходят. В этом случае проверяйте статус деплоя, логи и настройки домена внутри проекта, а не записи у регистратора.
Я меняю записи, но ничего не меняется. Где я мог править «не там»?
Убедитесь, что редактируете DNS именно там, куда делегирован домен: смотрите NS-серверы и правьте зону у того провайдера, который их обслуживает. Если домен куплен у одного регистратора, а DNS ведется у другого, изменения в «не той» панели никак не повлияют на реальный ответ DNS.
Что сделать заранее, чтобы следующий перенос домена прошел без боли?
Сначала закрепите схему: какие имена подключаете (@, www, нужные поддомены) и какие записи для них должны быть. Перед переносами заранее уменьшайте TTL, а после стабилизации возвращайте его обратно. Если после изменения домена или SSL что-то пошло не так, в TakProsto удобно откатить проект на предыдущий снимок и быстро восстановить рабочее состояние, пока DNS «догоняет».