Сайт не открывается: что делать и почему он недоступен
Пошаговый разбор для владельца сайта и для посетителя: как за несколько минут понять, где сломалось, по тексту ошибки в браузере найти вероятную причину и кому с ней идти.
Сайт не открывается, а через полчаса созвон с клиентом или идёт рекламная кампания. Первая реакция в такой ситуации: писать хостеру, звонить разработчику, перезагружать всё подряд. Но причин у недоступного сайта не так много, и почти всегда их можно различить по нескольким признакам за пять минут. Ниже порядок, в котором стоит проверять, и расшифровка того, что показывает браузер.
Шаг 1. Сайт не работает у всех или только у вас?
Это главный вопрос, и ответ на него экономит больше всего времени. Если сайт не открывается только у вас, чинить сервер бессмысленно. Если не открывается ни у кого, бесполезно чистить кеш браузера.
- Откройте сайт с телефона через мобильный интернет, отключив Wi-Fi. Это другая сеть, другой провайдер и другие DNS-серверы.
- Попробуйте другой браузер или режим инкогнито. Так отсекаются расширения, сохранённые cookie и кеш.
- Отключите VPN и прокси, если они включены. Часть сайтов блокирует адреса популярных VPN, а сам VPN может быть недоступен.
- Спросите коллегу из другого офиса или проверьте сайт онлайн-сервисом проверки доступности из нескольких точек.
Если сайт открывается с телефона, но не с компьютера, переходите к разделу «Если сайт не открывается только у вас». Если не открывается нигде, читайте дальше.
Шаг 2. Что пишет браузер
Текст ошибки сразу сужает круг причин. Браузер сообщает, на каком этапе всё сломалось: не нашёлся адрес, не установилось соединение, не прошла проверка сертификата или сервер ответил, но ответил ошибкой.
| Что видно в браузере | Где сломалось | Частые причины |
|---|---|---|
DNS_PROBE_FINISHED_NXDOMAIN, «Не удаётся найти IP-адрес сервера» | DNS: адрес домена не найден | Истёк срок регистрации домена, удалены или неверно изменены DNS-записи, у домена не те NS-серверы |
ERR_CONNECTION_TIMED_OUT, «Превышено время ожидания» | Сеть: сервер не отвечает | Сервер выключен или перегружен, хостинг заблокирован за неоплату, закрыт порт в файрволе, DNS указывает на старый сервер |
ERR_CONNECTION_REFUSED | Сервер доступен, но веб-сервер не принимает соединения | Остановлен nginx или Apache, веб-сервер не запустился после изменения конфигурации |
NET::ERR_CERT_DATE_INVALID, «Подключение не защищено» | Сертификат | Истёк SSL-сертификат, не сработало автопродление, неверное время на компьютере посетителя |
ERR_CERT_COMMON_NAME_INVALID | Сертификат | Сертификат выпущен на другое имя: например, есть на example.com, но нет на www.example.com |
ERR_TOO_MANY_REDIRECTS | Сайт отвечает, но перенаправляет по кругу | Конфликт правил перехода на https или www между CMS, веб-сервером и CDN |
| Страница хостера «Сайт заблокирован», «Аккаунт приостановлен» | Хостинг | Закончилась оплата, превышены лимиты тарифа, жалоба на содержимое |
Если сервер ответил кодом ошибки
Когда вместо системной ошибки браузера показывается страница с числом, сервер работает и отвечает. Это уже хорошая новость: проблема не в домене и не в сети, а в самом сайте или в том, что за ним стоит.
- 403 Forbidden. Доступ запрещён: неверные права на файлы, правило в
.htaccess, блокировка по стране или IP-адресу защитой сайта. - 404 Not Found. Нет конкретной страницы. Если 404 отдаёт и главная, скорее всего, сайт выложен не в ту папку или сломались правила адресов в CMS.
- 500 Internal Server Error. Ошибка в коде сайта: после обновления CMS или плагина, из-за неверной строки в
.htaccess, нехватки памяти для PHP. Причина записана в журнале ошибок. - 502 Bad Gateway. Веб-сервер не получил ответа от приложения за ним (PHP-FPM, Node.js, Python). Приложение упало или перезапускается.
- 503 Service Unavailable. Сервер перегружен или сайт сознательно переведён в режим обслуживания. Бывает при наплыве посетителей, атаке ботов или во время обновления.
- 504 Gateway Timeout. Приложение отвечает, но слишком медленно: тяжёлый запрос к базе данных, зависший внешний сервис, нехватка ресурсов.
Шаг 3. Частые причины, когда сайт не работает у всех
Закончилась оплата хостинга или сервера
Самая банальная и одна из самых частых причин. Хостер приостанавливает услугу через несколько дней после окончания оплаченного периода, и сайт либо перестаёт отвечать, либо показывает заглушку. Зайдите в панель хостинга и проверьте баланс и статус услуги. Там же бывают уведомления о превышении лимитов по нагрузке или месту на диске.
Истёк срок регистрации домена
Признак: браузер пишет, что не может найти адрес сервера, причём у всех и сразу. Вместе с сайтом обычно перестаёт работать почта на домене. Проверьте дату окончания регистрации через WHOIS-сервис или в кабинете регистратора. Если срок истёк недавно, домен ещё можно продлить, но тянуть нельзя: после окончания льготного периода его сможет зарегистрировать кто угодно. Как не допустить этого, подробно описано на странице про мониторинг срока домена.
Истёк SSL-сертификат
Сайт технически работает, но браузер показывает предупреждение о незащищённом подключении, и посетители уходят. Проверить дату можно, нажав на значок слева от адреса в браузере. Частая история: сертификат Let's Encrypt не продлился автоматически после переезда на новый сервер или продлился, но веб-сервер не перечитал конфигурацию. Подробнее на странице о мониторинге SSL-сертификата.
Что-то обновили или поменяли
Если сайт сломался «сам», вспомните, что менялось за последние сутки: обновление CMS, плагина или темы, правка конфигурации, перенос на другой сервер, смена DNS. В большинстве случаев причина 500-й ошибки и белого экрана в последнем изменении. Быстрее всего откатить его и разбираться уже на работающем сайте.
Кончилось место на диске или память
Разросшиеся журналы, резервные копии, загруженные файлы и кеш постепенно занимают диск. Когда место кончается, база данных перестаёт записывать данные, сессии не сохраняются, и сайт отдаёт 500-ю ошибку или пустые страницы. То же с памятью: при нехватке система завершает процессы, и появляются ошибки 502.
Наплыв посетителей или ботов
Рассылка, реклама или упоминание в крупном канале могут привести к сайту больше людей, чем он рассчитан принять. Похожую картину даёт атака ботов. Признаки: сайт открывается через раз, долго грузится, отдаёт 502, 503 или 504. Помогают кеширование, ограничение частоты запросов и защита от ботов на уровне хостинга или CDN.
Изменили DNS, и он ещё не обновился
После смены IP-адреса сервера или NS-серверов домена часть посетителей какое-то время попадает на старый адрес. Записи держатся в кешах столько, сколько указано в их TTL; смена NS-серверов может расходиться до 24–72 часов. В этот период сайт может открываться у одних и не открываться у других.
Как проверить сайт из командной строки
Если вы или ваш разработчик привыкли к терминалу, три команды дают ответ точнее любого браузера: они не используют кеш и расширения и показывают, на каком этапе всё ломается.
nslookup example.com
curl -sI https://example.com
curl -svo /dev/null https://example.com 2>&1 | grep -iE "expire|subject"
nslookupпоказывает, в какой IP-адрес превращается домен. Ответ «не найден» указывает на проблему с доменом или DNS, а незнакомый адрес говорит о том, что записи ведут не на ваш сервер.curl -sIзапрашивает только заголовки ответа. В первой строке будет код: 200, 301, 500, 502. Если команда долго молчит и завершается ошибкой соединения, сервер недоступен по сети.- Третья команда выводит данные сертификата, в том числе дату окончания срока действия (строка
expire date).
Если сайт не открывается только у вас
- Сбросьте кеш DNS. В Windows командой
ipconfig /flushdns, в macOSsudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder. Перезапустите браузер. - Проверьте файл hosts. Строка с доменом сайта в нём направит браузер на старый или чужой адрес. В Windows файл лежит в
C:\Windows\System32\drivers\etc\hosts, в macOS и Linux в/etc/hosts. - Отключите VPN, прокси и расширения, в первую очередь блокировщики рекламы и «ускорители». Временно отключите проверку HTTPS в антивирусе.
- Проверьте дату и время на компьютере. Если часы ушли на год назад или вперёд, браузер сочтёт сертификат любого сайта недействительным.
- Узнайте, не заблокирован ли ваш IP. Защита сайта (файрвол, fail2ban, WAF) после нескольких неудачных попыток входа может заблокировать адрес. Если это ваш сайт, попросите хостера или администратора проверить списки блокировок.
Пошаговый план для владельца сайта
Если сайт не работает у всех, проверяйте в таком порядке. Каждый пункт занимает минуту-две, а первые три закрывают большую часть случаев.
- Зафиксируйте ошибку. Сделайте снимок экрана, запишите текст ошибки, адрес страницы и время. Это пригодится поддержке хостинга.
- Проверьте домен. Не истёк ли срок регистрации, не изменились ли NS-серверы и DNS-записи.
- Проверьте хостинг. Баланс, статус услуги, уведомления о блокировках и лимитах в панели.
- Проверьте сертификат, если браузер ругается на защищённое соединение.
- Посмотрите журналы ошибок веб-сервера и приложения. Для 500, 502 и 504 причина почти всегда записана там.
- Вспомните последние изменения и откатите их, если сайт сломался сразу после них.
- Напишите в поддержку хостинга с фактами из первого пункта. Конкретное «с 14:05 главная отдаёт 502, вот снимок» решается быстрее, чем «сайт не работает».
- Сообщите клиентам, если сбой затянулся. Удобнее всего через заранее подготовленную страницу статуса: клиенты сами видят, что проблема известна.
Не перезагружайте сервер и не переустанавливайте CMS «на всякий случай», пока не посмотрели журналы. Перезагрузка иногда помогает, но стирает следы причины, и через день сбой повторится.
Как узнавать о сбоях раньше клиентов
Самое неприятное в недоступном сайте не сам сбой, а то, что о нём сообщает клиент, когда сайт лежит уже несколько часов. Это решает мониторинг доступности: внешний сервис регулярно открывает сайт и пишет вам, если он не ответил.
В Monitor Linkodium это работает так:
- сайт проверяется с интервалом от 1 до 60 минут: по коду ответа или по наличию нужной строки на странице, чтобы заметить и случай, когда сервер отвечает, но вместо страницы показывает ошибку;
- сообщение о сбое с причиной (таймаут, код ответа, ошибка соединения) приходит в Telegram, на почту или на ваш Webhook, а после восстановления приходит второе, с длительностью простоя;
- отдельно сервис раз в сутки проверяет срок SSL-сертификата и регистрации домена и заранее предупреждает: две частые причины из этой статьи можно исключить вовсе;
- история проверок и инцидентов хранится 90 дней, по ней видно, когда сайт начал отвечать медленнее, ещё до того, как он перестал открываться.
До 10 сайтов можно поставить на мониторинг бесплатно, подробности на странице тарифов.
Вопросы и ответы
Почему сайт не открывается только у меня?
Что значит ошибка 502 Bad Gateway?
Сколько ждать, если поменял DNS и сайт не открывается?
Как узнать, что сайт упал, раньше клиентов?
Ещё по теме
Подключите мониторинг за минуту
Вход по коду из письма, без пароля и банковской карты. До 10 сайтов бесплатно.
Начать мониторинг