Ответ
HTTP 502 Bad Gateway — код состояния, указывающий, что сервер, действуя как шлюз или прокси, получил недопустимый ответ от вышестоящего сервера.
Типичные причины:
- Бэкенд-сервер недоступен (упал, не запущен).
- Таймаут соединения с бэкендом.
- Некорректная конфигурация прокси/шлюза.
- Перегрузка бэкенд-сервера.
Архитектурный пример:
Клиент → [Прокси-сервер (Nginx)] → [Бэкенд-сервер (App)]
| |
Возвращает 502 Не отвечает/отдаёт ошибку
Действия при диагностике:
- Проверить статус бэкенд-сервиса:
systemctl status my-backend-service - Изучить логи прокси-сервера (Nginx):
tail -f /var/log/nginx/error.log # Типичная ошибка: # upstream timed out (110: Connection timed out) while connecting to upstream - Проверить доступность бэкенда вручную:
curl -v http://backend-host:8080/health - Увеличить таймауты в конфиге Nginx (временное решение):
location /api/ { proxy_pass http://backend; proxy_connect_timeout 60s; proxy_read_timeout 60s; }