Ошибка 502 Bad Gateway: причины и что делать
502 значит «прокси не получил ответ от приложения». Сайт жив, nginx работает, но бэкенд молчит.
Типичная картина: nginx отвечает мгновенно, но с кодом 502. Значит, сломалось не всё, а связка «прокси → приложение». Первым делом смотрим логи: nginx пишет причину в error.log — «connection refused» значит процесс не слушает порт, «upstream timed out» — слушает, но не успевает ответить.
- Процесс приложения упал или не запустился после деплоя
- Пул воркеров переполнен: все заняты, новые запросы ждут
- Неверный порт или сокет в конфиге прокси
- Приложение перезапускается и ещё не поднялось
- Таймаут на долгом запросе (обычно 504, но бывает и 502)
Быстрая последовательность: проверить, слушает ли приложение порт (ss -tlnp), посмотреть journalctl по сервису, откатить последний релиз и сравнить метрики до/после. Если помогло — причина в релизе: смотрите миграции и новые зависимости. Если нет — смотрите нагрузку: возможно, приложение живо, но задыхается от трафика.
Частые вопросы
502 и 504 — в чём разница?
502 — прокси не смог соединиться или получил некорректный ответ; 504 — соединение было, но приложение не ответило за таймаут.
Помогает ли перезапуск?
Если процесс упал — да, но это лечит симптом. Смотрите причину в логах, иначе повторится.
Проверьте на своём сайте
Три объекта бесплатно, без карты. Первый алерт — в течение часа.