Диагностика недоступности сайта: от Ping до HTTP-кодов

Иван Корнев·28.04.2026·6 мин

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

С чего начать: изоляция проблемы

Прежде чем запускать сложные команды, ответьте на два вопроса:

  1. Сайт не открывается ни у кого или только у вас?
  2. Не работает один конкретный ресурс или весь интернет?

Если другие сайты загружаются нормально, а проблемный ресурс «молчит» во всех браузерах и на разных устройствах (например, на телефоне через мобильный интернет и на ПК через Wi-Fi), проблема, скорее всего, на стороне хостинга или в настройках домена.

Важно: Доступность сайта — понятие многоуровневое. Сервер может отвечать на пинг, но не отдавать веб-страницы из-за ошибки в конфигурации Nginx/Apache. Или наоборот: пинг блокируется фаерволом, но сайт работает идеально.

Уровень 1: Проверка сети через Ping

Команда ping проверяет базовую связность с сервером. Она отправляет ICMP-пакеты и ждет ответа. Это первый шаг диагностики, если сайт вообще не реагирует.

Запустите в терминале (macOS/Linux) или командной строке (Windows):

ping example.com

Как интерпретировать результат:

  • Есть ответы (time=XX ms): Сеть до сервера есть. Если сайт все равно не открывается, проблема выше — в DNS, портах или самом веб-сервере.
  • Request timed out / Destination host unreachable: Пакеты не доходят. Это может означать падение сервера, блокировку ICMP на фаерволе или проблемы с маршрутизацией у провайдера.
  • Потеря пакетов (Loss): Если теряется более 1–2% пакетов, соединение нестабильно. Сайт может грузиться очень долго или обрываться.

Отсутствие ответа на пинг не означает, что сайт лежит. Многие администраторы намеренно отключают ответ на ICMP-запросы в целях безопасности. Всегда переходите к проверке HTTP, если пинг не проходит.

Уровень 2: Проверка веб-сервера через HTTP/HTTPS

Самый точный способ проверить работоспособность сайта — сделать прямой запрос к веб-серверу. Используйте утилиту curl, которая покажет заголовки ответа и HTTP-статус.

Команда для проверки заголовков:

curl -I https://example.com

Ключ -I (или --head) запрашивает только заголовки, не скачивая тело страницы.

Расшифровка HTTP-кодов

КодСтатусЧто делать пользователюЧто делать владельцу
200OKПроблема в браузере, кэше или расширениях.Все работает.
301/302RedirectПерейдите по новому адресу из заголовка Location.Проверьте настройки редиректов.
403ForbiddenОтключите VPN, очистите куки. Возможно, ваш IP заблокирован.Проверьте правила WAF и .htaccess.
404Not FoundПроверьте правильность введенного URL.Восстановите файл или настройте редирект.
500Internal ErrorПопробуйте позже.Смотрите логи ошибок приложения.
502/503/504Bad Gateway / Service UnavailableСайт временно перегружен или на техработах.Перезагрузите веб-сервер, проверьте бэкенд.

Если curl возвращает код 200, а браузер показывает ошибку — проблема локальная. Если вы видите коды 5xx, проблема на стороне сервера, и вам остается только ждать восстановления или обращаться в поддержку хостинга.

Уровень 3: Проверка DNS

Если ping пишет «Не удается разрешить имя узла», а curl выдает Could not resolve host, проблема в DNS. Доменное имя не преобразуется в IP-адрес.

Проверьте текущие записи:

nslookup example.com

или более детально:

dig example.com

На что смотреть:

  1. Ответ от сервера: Есть ли секция ANSWER SECTION с IP-адресом?
  2. Актуальность IP: Совпадает ли полученный адрес с тем, который должен быть у вашего хостинга?
  3. Время ответа: Если запрос выполняется дольше 1–2 секунд, возможно, ваш DNS-сервер перегружен.

Быстрое решение проблем с DNS: Если сайт не открывается из-за DNS, временно переключите сетевые настройки на публичные DNS:

  • Google: 8.8.8.8, 8.8.4.4
  • Cloudflare: 1.1.1.1, 1.0.0.1 Это часто решает проблемы с устаревшим кэшем провайдера.

Чек-лист: что делать, если сайт не открывается

Действуйте по алгоритму от простого к сложному.

Для пользователя (посетителя сайта)

  1. Проверьте другие сайты. Если они тоже не грузятся — перезагрузите роутер или обратитесь к провайдеру.
  2. Режим инкогнито. Откройте сайт в режиме инкогнито (Ctrl+Shift+N / Cmd+Shift+N). Если заработало — виноваты расширения браузера или кэш.
  3. Очистка кэша и cookie. Удалите данные сайта за все время.
  4. Отключение VPN/Прокси. Часто сайты блокируют трафик с известных VPN-серверов или, наоборот, VPN мешает корректному соединению.
  5. Смена DNS. Пропишите публичные DNS (8.8.8.8) в настройках сетевого адаптера.
  6. Проверка антивируса/фаервола. Временно отключите защиту, чтобы исключить ложную блокировку.

Для владельца сайта (администратора)

  1. Локальный тест. Попробуйте открыть сайт через curl с самого сервера (curl -I localhost). Если ответ есть, проблема во внешнем фаерволе или балансировщике.
  2. Проверка логов. Изучите error.log веб-сервера (Nginx/Apache) и логи приложения (PHP/Python/Node.js).
  3. Статус сервисов. Убедитесь, что запущены веб-сервер и база данных (systemctl status nginx, systemctl status mysql).
  4. Ресурсы сервера. Проверьте нагрузку (top, htop) и свободное место на диске (df -h). Переполненный диск — частая причина ошибок 500.
  5. SSL-сертификат. Убедитесь, что сертификат не истек и цепочка доверия построена верно.
  6. Блокировки. Проверьте, не попал ли ваш IP или подсеть в бан-листы WAF (например, Cloudflare или ModSecurity).

Таблица симптомов и решений

СимптомВероятная причинаИнструмент проверкиРешение
"Сайт не найден" (DNS)Ошибка в записях домена или кэш провайдераnslookup, digСменить DNS, подождать обновления записей
"Соединение сброшено"Блокировка фаерволом или неверный портtelnet example.com 443Проверить настройки Security Groups/Firewall
Ошибка 502 Bad GatewayБэкенд (PHP/Node) упал или перегруженЛоги Nginx/ApacheПерезапустить службу бэкенда
Ошибка 504 Gateway TimeoutБэкенд работает слишком долгоЛоги приложенияОптимизировать код, увеличить таймауты
Ошибка 403 ForbiddenЗапрет доступа по IP или правам файловcurl -IПроверить .htaccess, права chmod, WAF
Долгая загрузкаПроблемы с сетью или тяжелый контентping, SpeedtestПроверить канал, включить кэширование

Частые ошибки при диагностике

  • Доверие только пингу. Игнорирование того факта, что успешный пинг не гарантирует работу HTTP-сервера.
  • Игнорирование HTTPS. Сайт может работать по HTTP, но иметь проблемы с SSL-сертификатом на HTTPS. Всегда проверяйте тот протокол, который используете.
  • Кэш браузера. Самая частая причина «фантомных» проблем, когда сайт уже починили, а пользователь все еще видит старую ошибку из-за закэшированной страницы или редиректа.
  • Локальная проверка без учета географии. Сайт может быть доступен в вашей сети, но заблокирован в другом регионе или стране. Используйте внешние сервисы мониторинга для полной картины.

FAQ

В: Почему сайт открывается с телефона, но не открывается с компьютера? О: Скорее всего, проблема в локальной сети ПК: настройки прокси, расширения браузера, кэш DNS или блокировка антивирусом. Попробуйте открыть сайт в режиме инкогнито или сбросить настройки сети.

В: Что значит ошибка 521 или 522? О: Это специфические ошибки Cloudflare. 521 означает, что веб-сервер отклонил соединение (упал или закрыт порт), а 522 — что сервер не ответил вовремя (таймаут). Проблема всегда на стороне хостинга, а не у посетителя.

В: Как проверить, заблокирован ли сайт провайдером? О: Попробуйте использовать мобильный интернет другого оператора или включите VPN. Если с другим IP сайт открывается, значит, доступ ограничен на уровне сети вашего основного провайдера.