Одна из самых полезных подсказок при диагностике: сайт открывается по IP, но не открывается по домену.
На первый взгляд кажется очевидным: «значит виноват DNS». Очень часто так и есть, но не всегда. Современный веб-сервер может обслуживать много доменов на одном IP, а HTTPS вообще требует учитывать имя сайта.
Что означает «по IP работает»
Например:
http://203.0.113.25
возвращает страницу, а:
https://example.com
не открывается.
Первое — проверьте DNS
dig +short example.com A
dig +short example.com AAAA
Сравните результат с настоящим IP сервера.
Домен указывает на старый IP
Самая очевидная причина после миграции.
A правильная, AAAA неправильная
Очень частый сюрприз.
A → новый сервер
AAAA → старый сервер
Часть клиентов выбирает IPv6 и попадает не туда.
Старый DNS-кеш
Авторитетный сервер уже знает новый IP, а recursive resolver ещё хранит старое значение согласно TTL.
Но есть ещё virtual host
Один nginx может обслуживать десятки сайтов.
Когда браузер обращается к домену, сервер получает hostname и выбирает нужную конфигурацию.
По IP может открываться вообще другой сайт
Например default server nginx.
Поэтому факт, что «на IP что-то открылось», ещё не доказывает правильную настройку домена.
Host header
HTTP-запрос содержит имя хоста.
Host: example.com
Без правильного Host сервер может выбрать другой virtual host.
HTTPS ещё интереснее
TLS-сертификат выдаётся для доменного имени, а не просто для произвольного IP.
Открытие:
https://203.0.113.25
может дать ошибку сертификата, хотя сайт по домену настроен правильно.
SNI
При TLS клиент сообщает, к какому hostname хочет подключиться. Это помогает серверу выбрать нужный сертификат.
Лучшая команда для проверки конкретного сервера
curl --resolve example.com:443:203.0.113.25 \
https://example.com/
Здесь мы говорим curl: используй этот IP, но обращайся как к настоящему домену.
Почему это полезно перед сменой DNS
Можно проверить новый сервер ещё до публичного переключения.
www и корневой домен
Проверьте оба:
example.com
www.example.com
У них могут быть разные DNS-записи и разные virtual host.
Firewall
Редко, но сервер может фильтровать трафик по frontend, proxy или другим условиям. Сам факт доступности IP не гарантирует работу нужной виртуальной конфигурации.
CDN
Если домен должен указывать на CDN, прямой IP origin вообще не обязан давать тот же результат.
Правильный порядок
- Проверить A.
- Проверить AAAA.
- Проверить NS.
- Сравнить authoritative и recursive DNS.
- Проверить virtual host.
- Проверить TLS/SNI.
- Проверить через curl --resolve.
Как NexIP помогает
DNS Lookup и SSL/HTTP-проверки позволяют увидеть, на каком шаге доменное имя начинает вести себя иначе, чем прямой адрес.
FAQ
Если IP работает, сервер точно исправен?
Нет. Вы доказали только доступность какого-то сервиса на этом IP.
Можно использовать IP вместо домена постоянно?
Для обычного сайта это плохая замена: ломаются HTTPS, virtual hosts, cookies, ссылки и другие механизмы.
Что проверять первым?
A и AAAA.
По теме: Почему сайт работает через мобильный интернет, но не через Wi-Fi.
More practical guides are waiting in the NexIP journal.
NEXIP / DIAGNOSTICS
Verify what matters
Check a website, domain or network settings with real NexIP diagnostics.
Continue reading
Related materials
Нейросеть уже покупает за вас: как искусственный интеллект получает доступ к нашим деньгам
Нейросети перестают быть обычными советчиками и начинают покупать товары от имени людей. Shopify уже открыла доступ ИИ-агентам к миллиардам товаров, а Visa исследует платежи между программами. Но кто ответит, если алгоритм потратит деньги неправильно? Разбираемся, как меняется интернет-торговля и почему привычные магазины могут столкнуться с совершенно новым типом покупателей.
ReadЧто показывают HTTP-заголовки
Полное руководство по HTTP-заголовкам: request и response headers, кеш, redirects, cookies, CORS, security headers, CDN и диагностика через curl и NexIP.
ReadКак проверить доступность сайта
Пошаговая диагностика недоступного сайта: домен, DNS, IP, маршрут, TCP, TLS, HTTP-коды, curl, IPv4/IPv6, CDN и проверка через NexIP.
ReadHTTP-коды ответа: что означают 200, 301, 404, 500 и другие
Когда браузер открывает страницу, сервер отвечает не только HTML-кодом. Вместе с ответом он отправляет числовой HTTP-статус: 200, 301, 404, 500 и так далее. Эти три цифры часто позволяют понять проблему быстрее, чем длинное сообщение…
Read