Ошибка 502 Bad Gateway обычно выглядит пугающе, но её смысл довольно конкретный: сервер, который принял ваш запрос, сам обратился к другому серверу и получил от него неправильный ответ.
Чаще всего пользователь видит nginx, CDN или reverse proxy, а проблема находится глубже.
Как выглядит схема
Пользователь
↓
nginx
↓
PHP-FPM / приложение
↓
ответ
Если nginx не может нормально получить ответ от приложения, возникает 502.
Почему называется Bad Gateway
Промежуточный сервер выполняет роль gateway или proxy между клиентом и backend.
502 не означает проблему с DNS
Если вы уже получили HTTP 502, DNS, как правило, хотя бы привёл вас к какому-то веб-серверу.
Исключение — вы могли попасть вообще не на тот сервер из-за неправильного DNS, но сам код 502 генерируется уже на HTTP-уровне.
Частая причина: PHP-FPM не работает
Для PHP-сайта nginx может быть настроен на:
127.0.0.1:9000
или Unix socket.
Если PHP-FPM остановлен или socket не существует, frontend не получает корректный ответ.
Приложение упало
Node.js, Python, Java или другой backend мог завершиться с ошибкой.
Неправильный порт
Nginx ждёт приложение на 8080, а оно реально слушает 8081.
Проблема Unix socket
Socket может существовать, но права доступа не позволяют nginx к нему подключиться.
Контейнер перезапускается
В Docker-среде 502 нередко появляется, когда backend-контейнер находится в restart loop.
Backend отвечает некорректно
Соединение установилось, но ответ нарушен или неожиданно оборвался.
CDN тоже может показать 502
В этом случае:
Пользователь
↓
CDN
↓
origin
CDN не смог нормально получить страницу с origin-сервера.
Как понять, кто именно отдаёт 502
Посмотрите HTTP-заголовки:
curl -I https://example.com/
Заголовок Server иногда помогает, хотя его наличие и значение не гарантированы.
Сначала проверьте frontend
systemctl status nginx
Если nginx отдаёт 502, сам nginx уже работает. Теперь интереснее состояние backend.
Для PHP
systemctl status php8.5-fpm
Название службы зависит от установленной версии и системы.
Проверить порты
ss -lntp
Проверить журнал nginx
tail -n 100 /var/log/nginx/error.log
Очень часто там буквально написана причина:
connection refused
no such file or directory
upstream prematurely closed connection
Что делать обычному посетителю
Почти ничего. 502 обычно исправляет владелец сайта.
Можно попробовать обновить страницу через несколько минут, но очистка браузера редко лечит реальную серверную 502.
502 иногда бывает временной
Например, приложение перезапускается во время deploy. Несколько секунд frontend уже работает, а backend ещё не готов.
Как избежать 502 при обновлении
На серьёзной инфраструктуре используют health checks, graceful restart и поэтапное переключение backend.
Как NexIP помогает
Внешняя проверка покажет, что проблема воспроизводится не только у вас и сервер действительно возвращает 502.
FAQ
502 означает, что сервер выключен?
Не обязательно. Frontend как раз может быть включён, а проблема находится между ним и backend.
Поможет смена DNS?
Только если DNS действительно ведёт на неправильную инфраструктуру. В обычном случае — нет.
502 и 504 — одно и то же?
Нет. При 504 ключевая проблема обычно во времени ожидания ответа от upstream.
По теме: Ошибка 504 Gateway Timeout: почему возникает.
More practical guides are waiting in the NexIP journal.
NEXIP / DIAGNOSTICS
Verify what matters
Check a website, domain or network settings with real NexIP diagnostics.
Continue reading
Related materials
Нейросеть уже покупает за вас: как искусственный интеллект получает доступ к нашим деньгам
Нейросети перестают быть обычными советчиками и начинают покупать товары от имени людей. Shopify уже открыла доступ ИИ-агентам к миллиардам товаров, а Visa исследует платежи между программами. Но кто ответит, если алгоритм потратит деньги неправильно? Разбираемся, как меняется интернет-торговля и почему привычные магазины могут столкнуться с совершенно новым типом покупателей.
ReadЧто показывают HTTP-заголовки
Полное руководство по HTTP-заголовкам: request и response headers, кеш, redirects, cookies, CORS, security headers, CDN и диагностика через curl и NexIP.
ReadКак проверить доступность сайта
Пошаговая диагностика недоступного сайта: домен, DNS, IP, маршрут, TCP, TLS, HTTP-коды, curl, IPv4/IPv6, CDN и проверка через NexIP.
ReadHTTP-коды ответа: что означают 200, 301, 404, 500 и другие
Когда браузер открывает страницу, сервер отвечает не только HTML-кодом. Вместе с ответом он отправляет числовой HTTP-статус: 200, 301, 404, 500 и так далее. Эти три цифры часто позволяют понять проблему быстрее, чем длинное сообщение…
Read