Фактический маршрут
Фиксируем CDN, балансировщик, веб-сервер, приложение, PHP-FPM, контейнеры и внешние API, участвующие в запросе.
Bad Gateway
Проверяем всю цепочку от CDN или Nginx до приложения: доступность upstream, сокеты, процессы, контейнеры, таймауты и ответы. Исправляем подтверждённую причину, а не только страницу ошибки.
От шлюза к приложению
RFC 9110 определяет 502 как ситуацию, когда шлюз или прокси получил недопустимый ответ от входящего сервера. Это отличает ошибку от общего внутреннего сбоя 500 и требует проверки связи между компонентами.
Фиксируем CDN, балансировщик, веб-сервер, приложение, PHP-FPM, контейнеры и внешние API, участвующие в запросе.
Проверяем адрес, порт или сокет, DNS внутри инфраструктуры, доступность процесса и соответствие протокола.
Сопоставляем время 502 с error log прокси, системным журналом, журналом приложения и событиями перезапуска.
Проверяем остановки, нехватку памяти, лимиты воркеров, очередь соединений и состояние диска.
Измеряем время ответа и корректность заголовков, не увеличивая лимиты до подтверждения причины.
Тестируем проблемные маршруты, перезапуски и ожидаемую нагрузку, контролируем отсутствие новых 502 в журналах.
Результат
Прокси подключается к правильному процессу, порту или сокету.
Приложение завершает запрос в согласованных ресурсных границах.
Разрыв можно быстро связать с конкретным компонентом и событием.
Порядок ремонта
Перезапуск может временно восстановить процесс, но скрыть причину. Перед вмешательством сохраняем журналы, метрики и состояние сервисов.
Определяем URL, время, частоту и слой, который сформировал код 502.
Проверяем компоненты по одному, прямой ответ upstream и доступность из контекста прокси.
Корректируем конфигурацию, процесс, сокет, зависимость или лимит в минимальной области.
Повторяем критические сценарии и наблюдаем журналы после публикации.
Не путать с 504
502 означает недопустимый ответ от upstream. 504 сообщает, что шлюз не получил своевременный ответ. На практике журналы и конфигурация нужны для точного различия.
Не присылайте пароли в форме. Доступы согласуем отдельно с минимальными правами; внешние расходы не подключаем без подтверждения.
Вопросы
Шлюз или прокси получил некорректный ответ от сервера, к которому обратился для выполнения запроса. Проверяется связь и состояние всей цепочки.
Нет. Nginx часто показывает код как прокси, но причиной может быть приложение, PHP-FPM, сокет, контейнер, неверный upstream или внешний сервис.
Только если подтверждено, что корректный upstream отвечает дольше лимита. Иначе это скрывает медленный код или перегрузку.
Проверяем ответы компонентов, проблемные URL, повторные запросы, журналы и поведение под ожидаемой нагрузкой.
Первый шаг
Пришлите URL, время и сведения об инфраструктуре. Определим вероятный разрыв и предложим проверяемый диагностический шаг.