This article is available in Russian only. English translation is not yet available.
SSL и сайты

Почему сайт не открывается: диагностика

Сайт не открывается — причин много: DNS, сертификат, сервер, сеть. Разбираем порядок диагностики от браузера к серверу.

Когда сайт не открывается, причин может быть много: от DNS-ошибки до проблемы с сервером или сетью. Эта статья описывает порядок диагностики — от простых проверок к профильным инструментам.

Шаг 1: Проверьте DNS

Сначала убедитесь, что домен преобразуется в IP-адрес:

dig example.com A +short

Если команда возвращает пустой ответ или NXDOMAIN, проблема в DNS:

  • NXDOMAIN — домен не существует или удалён. Проверьте WHOIS, активна ли регистрация.
  • Пустой ответ, но NOERROR — A-запись не настроена. Проверьте DNS-записи через инструмент DNS.
  • SERVFAIL — проблема с DNSSEC или авторитетным сервером. Проверьте NS-записи.

Если DNS работает, переходите к следующему шагу.

Шаг 2: Проверьте HTTP

Если DNS отдаёт IP, но сайт не открывается, проверьте HTTP-ответ:

curl -I https://example.com

Или используйте инструмент проверки HTTP-заголовков:

  • 200 — сайт работает, проблема в вашем браузере или кеше.
  • 301/302 — редирект. Проверьте, куда он ведёт — возможно, цикл редиректов.
  • 403 — доступ запрещён. Проверьте права на сервере или firewall.
  • 500/502/503 — ошибка сервера. Проверьте логи веб-сервера.
  • Соединение отклонено — сервер не слушает порт 443/80. Проверьте, запущен ли веб-сервер.

Шаг 3: Проверьте SSL

Если браузер показывает «небезопасное соединение», проблема в сертификате:

  • Сертификат истёк — проверьте через инструмент проверки SSL.
  • Сертификат не покрывает домен (нет SAN) — добавьте нужное имя в сертификат.
  • Цепочка сертификатов неполная — добавьте intermediate сертификаты.
openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509 -noout -dates

Шаг 4: Проверьте с другой точки

Если сайт не открывается только у вас, причина может быть локальной:

  • Кеш DNS — попробуйте другой резолвер через dig @8.8.8.8 example.com.
  • Файл hosts — проверьте /etc/hosts на наличие записей для домена.
  • Firewall или VPN — отключите и проверьте снова.
  • Кеш браузера — откройте в режиме инкогнито.

Используйте проверку сайта снаружи для независимой проверки из другой точки.

Шаг 5: Проверьте NS и делегирование

Если DNS не работает, проверьте NS-записи:

dig example.com NS +short

Сравните NS с теми, что указаны у вашего регистратора. Если NS указывают на старые серверы, обновите делегирование у регистратора и дождитесь распространения (до 48 часов).

Типичные ошибки

  • Цикл редиректов. HTTP→HTTPS→HTTP→… Проверьте конфигурацию веб-сервера: редирект с HTTP на HTTPS не должен редиректить обратно.
  • DNS указывает на старый IP. После миграции сервера обновите A-запись и дождитесь истечения TTL.
  • Сертификат истёк. Браузер блокирует соединение. Настройте автопродление через Let's Encrypt.
  • Firewall блокирует порт 443. Проверьте iptables -L или ufw status на сервере.
  • IPv6 не работает. Если AAAA-запись указывает на недоступный IPv6-адрес, клиенты с IPv6 не откроют сайт, а клиенты с IPv4 откроют.

Практический пример

Пользователь сообщает, что example.com не открывается. Диагностика:

  1. dig example.com A +short203.0.113.10 (DNS работает).
  2. curl -I https://example.comcurl: (35) SSL connect error (проблема SSL).
  3. Проверка через SSL checker → Срок действия истёк 2026-07-01.
  4. Обновите сертификат и перезапустите веб-сервер.
  5. Проверьте снова через site checker — 200 OK.

Если все шаги пройдены, а сайт всё ещё не открывается, используйте сводный отчёт для комплексной проверки.

Частые вопросы

С чего начать, если сайт не открывается?

Сначала проверьте DNS: отдаёт ли домен правильный IP. Затем проверьте HTTP-ответ и SSL-сертификат. Если DNS и SSL корректны, проблема может быть в сервере или сети.

Может ли сайт не открываться только у меня?

Да. Причина может быть в вашем DNS-резолвере, провайдере или кеше браузера. Проверьте сайт через проверку сайта снаружи, который обращается к домену независимо.

Чем отличается NXDOMAIN от SERVFAIL?

NXDOMAIN означает, что доменное имя не существует в DNS. SERVFAIL означает, что сервер не смог обработать запрос — возможно, проблема с DNSSEC или связью с авторитетным сервером.

Check it in practice

Related terms

Sources

  1. RFC 9110: HTTP Semantics
  2. RFC 1034: Domain Names — Concepts and Facilities
  3. RFC 8446: TLS 1.3

Как проверить SSL-сертификат сайта

Проверка сертификата не ограничивается датой окончания: важны имя узла, цепочка до доверенного центра и фактическая конфигурация TLS-сервера.

Как узнать IP-адрес сайта

IP-адрес сайта получают из DNS, но один домен может вести на несколько узлов, а CDN способен менять ответ в зависимости от сети пользователя.