Перейти к основному контенту

Как определить доступность сайта

Инструкция по диагностике

Если сайт не открывается в браузере, это может быть вызвано множеством причин: от проблем на стороне вашего интернет-провайдера до сбоя в работе сервера, где размещён ресурс. Прежде чем обращаться в службу поддержки, полезно провести первичную диагностику самостоятельно. Эта статья поможет вам шаг за шагом проверить доступность сайта и определить, где именно возникает проблема.

Что вы видите в браузере?

Первым делом обратите внимание на сообщение, которое выдаёт браузер. Оно может подсказать характер неполадки.

Наиболее частые ошибки:

  • «Сайт недоступен» / «Не удаётся получить доступ к сайту» (ERR_CONNECTION_REFUSED) — сервер отвергает соединение. Возможно, он не слушает нужный порт (обычно 80 или 443) или брандмауэр блокирует запрос.
    • image.png

  • «Время ожидания истекло» (ERR_TIMED_OUT) — сервер не отвечает в течение определённого периода. Это может указывать на перегрузку сети, сбой маршрутизации или неработающий сервер.
    • image.png

  • «Не удаётся найти DNS-адрес сервера» (ERR_NAME_NOT_RESOLVED) — DNS не может преобразовать доменное имя в IP-адрес. Проблема с настройками DNS или самим доменом.
    • image.png

  • «Сертификат безопасности недействителен» (ERR_CERT_AUTHORITY_INVALID и др.) — ошибка SSL/TLS. Сайт открывается, но браузер предупреждает о проблемах с сертификатом.
    • image.png

Если вы видите подобные сообщения, приступайте к диагностике.

Проверка с помощью командной строки

Для более точной диагностики воспользуйтесь встроенными сетевыми утилитами. Они доступны в Windows, macOS и Linux.

Ping — проверяем базовую связность

Что делает: отправляет сетевые пакеты на указанный хост и ждёт ответа. Позволяет проверить, отвечает ли сервер на уровне сети (ICMP).

Как использовать:

  • Откройте командную строку (Terminal в macOS/Linux, cmd или PowerShell в Windows).
  • Введите:
    • ping example.com
    • или
    • ping 192.168.1.1
    • (замените на адрес вашего сайта).

Анализ результата:

  • Получены ответы — сервер доступен по сети. Значит, проблема может быть в веб-сервере (Apache, Nginx) или в конфигурации сайта.
    • image.png

  • Превышен интервал ожидания / 100% потеря пакетов — сервер не отвечает на ICMP-запросы. Это может означать:
    • Сервер действительно не работает.
    • Сервер или сетевое оборудование на пути блокируют ICMP (не редкость для защиты от DDoS).
    • Нет маршрута до сервера.
    • image.png

Примечание: отсутствие ответа на ping не всегда означает, что сайт не работает. Многие администраторы отключают ICMP.

Tracert / traceroute — отслеживаем маршрут

Что делает: показывает путь, который проходят пакеты от вашего компьютера до сервера, с указанием каждого промежуточного узла (роутера). Помогает найти, на каком этапе происходит сбой.

Как использовать:

  • Windows: tracert example.com
  • macOS/Linux: traceroute example.com

Анализ результата:

  • Если трассировка обрывается на каком-то узле (после него идут звёздочки * * *), это может указывать на проблему с этим узлом или на то, что он не отвечает на запросы.
    • image.png

  • Если трассировка завершается успешно, но сайт не открывается — значит, сетевой путь работает, а проблема локализована на самом сервере (веб-сервер не отвечает).
    • image.png

MTR — объединяем ping и traceroute

Что делает: утилита mtr (My TraceRoute) объединяет функционал ping и traceroute, показывая статистику потерь пакетов на каждом узле в реальном времени. Это более наглядный инструмент для оценки качества соединения.

Как использовать:

  • В macOS/Linux: mtr example.com (если не установлена, поставьте через пакетный менеджер).
  • В Windows есть аналог — WinMTR (графическая версия).

Анализ результата: обратите внимание на процент потерь пакетов (Loss%) на каждом узле. Если потери начинаются на определённом узле и продолжаются дальше, проблема скорее всего на этом узле или его связи с предыдущим.

Подробнее о данном тестировании можете прочитать в следующих статьях:

Трассировка через WinMTR

Как читать результаты traceroute и MTR

Nslookup — проверяем DNS

Что делает: запрашивает у DNS-серверов информацию о домене, в частности, его IP-адрес. Помогает выяснить, правильно ли преобразуется домен.

Как использовать:

nslookup example.com

Вы также можете указать конкретный DNS-сервер:

Например google dns:

nslookup example.com 8.8.8.8

Или yandex dns:

nslookup example.com 77.88.8.8

Анализ результата:

  • Если команда возвращает IP-адрес — DNS работает, и браузер должен знать, куда обращаться.
    • image.png

  • Если ответ содержит ошибку (например, server can't find example.com: NXDOMAIN), значит домен не разрешается. Возможные причины: не зарегистрирован, просрочен, неправильно настроены NS-записи, или временный сбой DNS-провайдера.
    • image.png

Curl — проверяем работу веб-сервера

Что делает: отправляет HTTP-запрос к серверу и показывает ответ. Позволяет увидеть HTTP-статус код, заголовки и даже содержимое страницы, минуя браузер.

Как использовать:

  • Базовый запрос:
    • curl -I http://example.com
    • (флаг -I показывает только заголовки ответа)
    • image.png

  • Для HTTPS:
    • curl -I https://example.com
  • Если нужно увидеть детали соединения и возможные ошибки SSL:
    • curl -v https://example.com
    • image.png

Анализ результата:

  • HTTP/2 200 — сервер работает нормально, страница отдаётся успешно.
  • HTTP/1.1 301 Moved Permanently или 302 Found — сайт перенаправляет на другой URL (возможно, на www или HTTPS). Это нормально.
  • HTTP/1.1 403 Forbidden — доступ запрещён (например, из-за IP-бана или неправильных прав).
  • HTTP/1.1 500 Internal Server Error — ошибка на стороне сервера (скрипт, база данных).
  • curl: (7) Failed to connect to example.com port 80: Connection refused — сервер не принимает соединение на порт 80/443.
  • curl: (28) Connection timed out — сервер не отвечает (проблемы сети или сервер не запущен).

Curl также покажет ошибки SSL, если сертификат недействителен или просрочен.

Использование сторонних онлайн-сервисов

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

Проверка «виден ли сайт из интернета»

  • Host-Tracker (https://host-tracker.com) — позволяет проверить доступность сайта из более чем 100 точек мира. Покажет, открывается ли сайт в разных регионах.
  • Ping.pe (https://ping.pe) — выполняет ping и трассировку с десятков серверов по всему миру. Отличный способ понять, не блокирует ли ваш провайдер или региональная сеть доступ.
  • Dotcom-Tools (https://www.dotcom-tools.com) — аналогичный инструмент с проверкой HTTP/HTTPS из разных городов.

Как использовать: введите URL вашего сайта и запустите тест. Сервис покажет, из каких локаций сайт доступен, а из каких — нет.

Что даёт:

  • Если сайт открывается из всех или большинства точек, проблема локализована у вас (провайдер, локальная сеть, фаервол).
  • Если сайт не открывается нигде — проблема на стороне хостинга или самого сервера.
  • Если сайт доступен только в определённых регионах — возможно, DNS-зона настроена с географической привязкой, либо происходят сбои в работе глобальной сети.

Проверка DNS

  • DNSlytics (https://dnslytics.com) — показывает глобальное распространение DNS-записей.
  • What’s My DNS (https://www.whatsmydns.net) — проверяет, как виден домен из разных DNS-серверов мира. Если в одних местах домен резолвится, а в других нет — проблема в DNS-репликации или недавно изменённых записях.

Пошаговый план действий

Если сайт не открывается, выполните следующие шаги:

  1. Проверьте в браузере. Запомните текст ошибки.
  2. Проверьте DNS с помощью nslookup. Если домен не резолвится, проверьте его через онлайн-сервисы (например, whatsmydns.net). Возможно, проблема в локальном DNS-кэше — очистите его (в Windows: ipconfig /flushdns).
  3. Пропингуйте сайт. Если ping проходит, а сайт не открывается — сервер может быть перегружен или веб-сервер не отвечает. Используйте curl -I.
  4. Выполните трассировку (tracert или mtr), чтобы увидеть, где теряются пакеты.
  5. Воспользуйтесь онлайн-сервисами (Host-Tracker, ping.pe), чтобы узнать, доступен ли сайт извне.
  6. Если сайт доступен из других регионов, но не у вас — проблема локальная (провайдер, маршрутизатор, брандмауэр, антивирус). Попробуйте сменить DNS на публичный (например, 8.8.8.8 или 77.88.8.8).
  7. Если сайт недоступен нигде — скорее всего, проблема на стороне хостинга или самого сервера где расположен сайт. 

Заключение

Диагностика доступности сайта требует последовательного подхода. Командные утилиты (ping, tracert, nslookup, curl) позволяют быстро локализовать проблему, а онлайн-сервисы помогают подтвердить, что проблема не носит локальный характер. Используя эти инструменты, вы сможете более предметно общаться с технической поддержкой и быстрее восстанавливать доступ к своему ресурсу.