HTTP-коды ошибок на сайте: что означают, почему возникают и как исправить
📊 Проверьте коды ответа вашего сервера
Узнайте, какие HTTP-статусы возвращает ваш сайт прямо сейчас. Бесплатная проверка за 1 минуту.
Проверить HTTP-статусы →Или настройте мониторинг кодов ответа — мгновенное оповещение при 500, 502, 503, 504
Что такое HTTP-коды ошибок
Когда браузер или поисковый робот обращается к сайту, сервер возвращает HTTP-статус — трёхзначное число, которое сообщает результат запроса. Коды 2xx означают успех, 3xx — редиректы, а 4xx и 5xx — ошибки.
Эта статья — полный справочник по ошибочным кодам: что означает каждый, почему возникает и как исправить. Если вы видите ошибку 500, 502, 403, 404 или другую — найдите её здесь.
Содержание
- Ошибки сервера 5xx (500, 502, 503, 504, 505, 520, 521, 522, 525)
- Ошибки клиента 4xx (400, 401, 403, 404, 429, 451)
- Что означают коды ошибок: быстрый справочник
- Как отслеживать HTTP-ошибки автоматически
Ошибки сервера 5xx: что значит и что делать
Коды 5xx означают, что сервер столкнулся с ошибкой и не смог выполнить запрос. Это самые критичные ошибки — сайт полностью или частично недоступен.
500 Ошибка 500 на сайте — Внутренняя ошибка сервера
Что означает: сервер получил запрос, но при его обработке произошла непредвиденная ошибка. Это «универсальный» код — причина может быть любой.
Почему возникает:
- Ошибка в коде сайта (PHP, Python, Node.js) — синтаксическая или runtime
- Превышен лимит памяти (memory_limit в PHP)
- Сбой базы данных — недоступна, перегружена, повреждена
- Некорректная директива в .htaccess или nginx.conf
- Конфликт плагинов/модулей CMS
- Закончилось место на диске сервера
Что делать:
- Проверить логи ошибок:
error_log,/var/log/nginx/error.log - Откатить последние изменения кода или обновления
- Проверить статус БД:
systemctl status mysql - Проверить свободное место:
df -h - Временно включить
display_errors = Onв php.ini для диагностики
502 502 ошибка сайта — Bad Gateway
Что означает: прокси-сервер (Nginx, Cloudflare) получил невалидный ответ от upstream-сервера (Apache, PHP-FPM, бэкенд-приложение).
Почему возникает:
- PHP-FPM/Apache упал или перезагружается
- Бэкенд не успевает ответить за отведённое время
- Неправильная настройка upstream в Nginx
- Перегрузка сервера — все worker-заняты
- Брандмауэр блокирует соединение между прокси и бэкендом
Что делать:
- Проверить статус PHP-FPM:
systemctl status php8.5-fpm - Проверить конфигурацию upstream в Nginx
- Увеличить
proxy_read_timeoutиfastcgi_read_timeout - Проверить количество worker-процессов
503 Ошибка 503 на сайте — Service Unavailable
Что означает: сервер временно не может обработать запрос. Это «осознанная» ошибка — сервер работает, но отказывает в обслуживании.
Почему возникает:
- Режим технического обслуживания (maintenance mode)
- DDoS-атака — сервер отбрасывает лишние запросы
- Превышен лимит одновременных соединений
- Исчерпаны ресурсы хостинга (CPU, RAM)
- Падение зависимого сервиса (Redis, Elasticsearch)
Что делать:
- Проверить, не включён ли режим обслуживания
- Проанализировать нагрузку:
uptime,free -h - Проверить логи на признаки DDoS
- Увеличить лимиты хостинга или оптимизировать код
504 Ошибка 504 на сайте — Gateway Timeout
Что означает: прокси-сервер ждал ответа от бэкенда слишком долго и разорвал соединение по таймауту.
Отличие от 502: 502 — бэкенд ответил, но ответ невалидный. 504 — бэкенд вообще не ответил вовремя.
Почему возникает:
- Бесконечный или слишком долгий цикл в скрипте
- Тяжёлый SQL-запрос без индексов
- Недоступный внешний API, который ждёт ответа
- Загрузка большого файла превышает лимит времени
Что делать:
- Найти и оптимизировать медленные запросы в логах MySQL
- Увеличить
max_execution_timeв PHP (временное решение) - Вынести тяжёлые операции в фоновые задачи (очереди)
- Добавить индексы к часто запрашиваемым таблицам БД
505 Ошибка 505 на сайте — HTTP Version Not Supported
Что означает: сервер не поддерживает версию HTTP-протокола, указанную в запросе клиента.
Почему возникает: клиент отправляет запрос в HTTP/2 или HTTP/3, а сервер поддерживает только HTTP/1.1. Или наоборот — очень старый клиент запрашивает HTTP/0.9.
Что делать: обновить серверное ПО (Nginx, Apache) или проверить настройки прокси. Для современных сайтов эта ошибка крайне редка.
520 Ошибка 520 на сайте — Web Server Returned an Unknown Error (Cloudflare)
Что означает: прокси Cloudflare получил неожиданный или неинтерпретируемый ответ от origin-сервера.
Почему возникает: origin-сервер пустой ответ, заголовки слишком большие, SSL-Handshake не завершён, IP-адрес origin изменился.
Что делать: проверить, что origin-сервер отвечает без Cloudflare (через IP), проверить SSL-сертификат на origin, убедиться, что IP origin не изменился.
521 Ошибка 521 при открытии сайта — Web Server Is Down (Cloudflare)
Что означает: Cloudflare не может установить TCP-соединение с origin-сервером.
Почему возникает: origin-сервер выключен, брандмауэр блокирует IP Cloudflare, origin не слушает нужный порт.
Что делать: проверить, работает ли origin-сервер; убедиться, что IP-адреса Cloudflare не заблокированы в firewall; проверить, что веб-сервер слушает правильный IP и порт.
522 Ошибка сайта 522 — Connection Timed Out (Cloudflare)
Что означает: Cloudflare установил TCP-соединение, но origin-сервер не ответил на HTTP-запрос вовремя.
Почему возникает: origin перегружен, медленные запросы, сетевая задержка между Cloudflare и origin.
Что делать: проверить нагрузку на origin, оптимизировать медленные запросы, рассмотреть использование Argo Smart Routing.
525 Ошибка 525 при входе на сайт — SSL Handshake Failed (Cloudflare)
Что означает: Cloudflare не смог установить SSL/TLS-соединение с origin-сервером.
Почему возникает: на origin нет SSL-сертификата, сертификат просрочен, несовпадение SNI, неподдерживаемый протокол.
Что делать: установить валидный SSL-сертификат на origin, проверить настройки SSL в Cloudflare (Full Strict vs Full), убедиться, что origin поддерживает TLS 1.2+.
Ошибки клиента 4xx: что значит и что делать
Коды 4xx означают, что в запросе клиента есть ошибка. Сервер работает, но отказывает в выполнении запроса.
400 Ошибка 400 на сайте — Bad Request
Что означает: сервер не может обработать запрос из-за синтаксической ошибки клиента.
Почему возникает: повреждённые cookies, слишком длинный URL, некорректные заголовки, ошибка в AJAX-запросе.
Что делать: очистить cookies и кэш браузера, проверить корректность URL, проверить JavaScript-код на странице.
401 Ошибка сайта 401 — Unauthorized
Что означает: для доступа к ресурсу требуется аутентификация, но клиент её не предоставил или предоставил неверные данные.
Почему возникает: забыли войти, сессия истекла, неправильные учётные данные в HTTP Basic Auth.
Что делать: войти в систему заново, проверить правильность логина/пароля, обновить страницу для обновления сессии.
403 403 ошибка на сайте — Forbidden
Что означает: сервер понял запрос, но отказывается его выполнять. У клиента нет прав на доступ к ресурсу.
Почему возникает:
- Неправильные права на файлы (chmod 777 вместо 644)
- Запрет в .htaccess (deny from all)
- Модуль mod_security сработал на подозрительный запрос
- IP-адрес клиента заблокирован
- Отсутствие индексного файла в директории
- Ошибка в конфигурации виртуального хоста
Что делать:
- Проверить права файлов:
chmod 644 file.php,chmod 755 dir/ - Проверить .htaccess на директивы deny
- Проверить логи mod_security
- Убедиться, что в директории есть index.php или index.html
404 Ошибка 404 на сайте — Not Found
Что означает: сервер не нашёл запрашиваемый ресурс по указанному URL. Самая известная ошибка интернета.
Почему возникает:
- Страница удалена или перемещена без редиректа
- Опечатка в URL
- Изменилась структура ссылок в CMS
- Файл или изображение удалены с сервера
- Проблемы с маршрутизацией в фреймворке
Что делать:
- Настроить 301-редирект со старого URL на новый
- Создать информативную страницу 404 с навигацией и поиском
- Проверить все внутренние ссылки через валидатор
- Настроить мониторинг битых ссылок
429 429 ошибка на сайте — Too Many Requests
Что означает: клиент отправил слишком много запросов за короткое время и превысил rate limit.
Почему возникает: DDoS-атака, агрессивный парсинг, боты, слишком частые запросы легитимного пользователя.
Что делать: настроить rate limiting, использовать CAPTCHA, включить DDoS-защиту (Cloudflare), проверить логи на аномальный трафик.
451 Ошибка сайта 451 — Unavailable For Legal Reasons
Что означает: доступ к ресурсу заблокирован по юридическим требованиям (цензура, судебное решение, DMCA).
Почему возникает: блокировка Роскомнадзором, DMCA-запрос, судебный запрет на территории страны пользователя.
Что делать: если вы владелец сайта — проверить уведомления от хостинг-провайдера или регулятора. Если вы пользователь — ресурс заблокирован в вашей юрисдикции.
Что означают коды ошибок: быстрый справочник
| Код | Название | Что означает | Критичность |
|---|---|---|---|
| 400 | Bad Request | Некорректный запрос от клиента | 🟡 Средняя |
| 401 | Unauthorized | Требуется авторизация | 🟡 Средняя |
| 403 | Forbidden | Доступ запрещён | 🟡 Средняя |
| 404 | Not Found | Страница не найдена | 🟡 Средняя |
| 429 | Too Many Requests | Слишком много запросов | 🟡 Средняя |
| 451 | Unavailable For Legal Reasons | Заблокировано по закону | 🟡 Средняя |
| 500 | Internal Server Error | Внутренняя ошибка сервера | 🔴 Критическая |
| 502 | Bad Gateway | Прокси получил плохой ответ от бэкенда | 🔴 Критическая |
| 503 | Service Unavailable | Сервис временно недоступен | 🔴 Критическая |
| 504 | Gateway Timeout | Прокси ждал ответа слишком долго | 🔴 Критическая |
| 505 | HTTP Version Not Supported | Версия HTTP не поддерживается | 🟢 Низкая |
| 520 | Web Server Error | Неизвестная ошибка origin (Cloudflare) | 🔴 Критическая |
| 521 | Web Server Is Down | Origin-сервер недоступен (Cloudflare) | 🔴 Критическая |
| 522 | Connection Timed Out | Таймаут соединения с origin (Cloudflare) | 🔴 Критическая |
| 525 | SSL Handshake Failed | Ошибка SSL-рукопожатия (Cloudflare) | 🔴 Критическая |
🔍 Проверьте, какие коды возвращает ваш сайт
Наш сервис проверит HTTP-статус вашего сайта, измерит время отклика и проверит SSL-сертификат.
Проверить коды ответа →Как отслеживать HTTP-ошибки автоматически
Ручная проверка сайта неэффективна: ошибки 500, 502, 503 часто возникают внезапно и исчезают до того, как вы успеваете проверить. Автоматический мониторинг решает эту проблему.
Что должен мониторить сервис
- HTTP-код ответа — мгновенное оповещение при любом коде, отличном от 200
- Время отклика — рост времени отклика часто предшествует ошибке 504
- Наличие ключевых слов — проверка, что страница содержит ожидаемый контент (а не «Error» или «Fatal»)
- SSL-сертификат — истечение срока приводит к блокировке браузерами
Как настроить мониторинг в UptimeBot
- Зарегистрируйтесь и добавьте URL сайта
- Выберите интервал проверки (каждую минуту для критичных сайтов)
- Укажите ожидаемый HTTP-код (200) и ключевое слово на странице
- Настройте каналы оповещения: email, Telegram
- Добавьте мониторинг DNS и домена для комплексного мониторинга
- Обнаружение сбоев за 60 секунд, а не когда клиент пожалуется
- История ошибок — анализ частоты и времени сбоев для поиска причин
- Интеграция с мессенджерами — мгновенное уведомление команды
🛡️ Не пропускайте HTTP-ошибки на своём сайте
Настройте мониторинг кодов ответа, SSL и доступности. Узнавайте о 500, 502, 503, 504 раньше клиентов.
Настроить мониторинг →Проверка каждую минуту · Оповещения в Telegram, email
Часто задаваемые вопросы
Обе ошибки связаны с прокси-сервером (Nginx, Cloudflare), но различаются по причине:
- 502 Bad Gateway — бэкенд ответил, но ответ был невалидным (пустой, ошибочный, неожиданный формат). Часто означает, что PHP-FPM/Apache упал.
- 504 Gateway Timeout — бэкенд вообще не ответил в отведённое время. Запрос выполняется слишком долго — тяжёлый SQL, бесконечный цикл, висящий внешний API.
Итог
HTTP-коды ошибок — это язык, на котором сервер сообщает о проблемах. Понимание кодов 500, 502, 503, 504, 403, 404 и других позволяет быстро определить причину сбоя и принять меры. Главное правило: 5xx — проблема на сервере, 4xx — проблема в запросе или правах доступа.
Чтобы не терять клиентов из-за незамеченных сбоев, настройте автоматический мониторинг HTTP-статусов. UptimeBot проверяет сайт каждую минуту и мгновенно оповещает о любых кодах, отличных от 200.
Также рекомендуем ознакомиться с общим справочником ошибок на сайте и гайдом по диагностике проблем соединения для комплексного понимания возможных сбоев.