Битлента
Ошибки и коды3 мин чтения·

Ошибка 502 Bad Gateway: шлюз получил неверный ответ

502 Bad Gateway возникает, когда промежуточный сервер получил некорректный ответ от следующего. Как отличить сбой сайта от локальных причин и что проверить владельцу.

Посредник недоволен ответом

Между вашим браузером и приложением сайта нередко стоят несколько промежуточных серверов: балансировщик, шлюз перед приложением, CDN. Ответ 502 выдаёт именно такой посредник: он обратился к следующему серверу в цепочке, но получил в ответ ошибку, обрыв или бессмыслицу.

Это значит, что вы, скорее всего, добрались до части инфраструктуры сайта, а сбой лежит дальше. Ваш компьютер и интернет-канал тут почти ни при чём.

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

Типичные источники

Самый частый вариант: приложение за промежуточный сервер упало, перезапускается или не успело запуститься после деплоя, поэтому отвечать некому. Другой вариант — процесс приложения завис или превысил лимит памяти и был принудительно завершён.

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

Особенно часто такое случается в первые минуты после публикации новой версии: старый процесс уже остановлен, а новый ещё не готов принимать запросы. Хорошие процедуры выкладки используют проверку готовности, чтобы посредник не отправлял запросы на неготовый сервер.

Что проверить посетителю

Повторите загрузку через полминуты: короткие сбои при перезапуске приложений — обычное дело. Откройте сайт на другом устройстве, в другой сети. Если 502 везде, у вас нет возможности повлиять.

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

Дополнительное наблюдение: если 502 появляется у одних посетителей и не появляется у других, вероятно, один из нескольких серверов за балансировщиком неисправен. Тогда повторная загрузка страницы иногда отправит вас на исправный узел, и всё откроется.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно

Диагностика владельца

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

При использовании PHP-FPM или похожих обработчиков проверьте пул процессов и лимиты времени. Если ошибка возникает при загрузке больших ответов, изучите настройки буферов и заголовков. После обновления сравните версию и конфигурацию с предыдущей рабочей.

CDN и облачные защиты

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

Отдельно проверьте сертификаты и протоколы между звеньями цепочки. Если посредник обращается к серверу по защищённому соединению, а сертификат просрочен или не совпадает по имени, он получает ошибку и возвращает 502, хотя приложение само по себе исправно.

Как не путать с соседними кодами

502 говорит о неверном ответе от вышестоящего сервера, 504 о том, что ответа не дождались, 503 о неготовности сервиса принять запрос, 500 о внутренней ошибке самого приложения. Если после перезапуска приложения 502 сменился на 500, значит, приложение запущено, но падает при обработке запросов, и искать нужно уже в его журнале.

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

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно
http502шлюз

Часто задаваемые вопросы

Читайте также