Что значит 502 Bad Gateway, что делать посетителю и как владельцу сайта найти причину: на хостинге с cPanel и на своём сервере с nginx и PHP-FPM.
502 Bad Gateway значит, что сервер, к которому обратился браузер, сам не получил ответа от следующего звена. Обычно перед сайтом стоит nginx, а сам сайт работает в PHP-FPM, приложении на Node.js или Python, в контейнере Docker. Если это приложение упало, перегружено или недоступно, nginx отвечает посетителю ошибкой 502.
Если вы посетитель
Обновите страницу через минуту: чаще всего это короткий сбой на стороне сайта, и сделать с ним ничего нельзя. Если ошибку показывают все сайты подряд — дело в вашем подключении, VPN или прокси.
На нашем хостинге
Откройте в cPanel раздел Errors — там последние ошибки сайта. Частые причины 502 на хостинге:
- скрипт работает слишком долго — тяжёлый импорт, отчёт, плагин резервного копирования;
- сайт не справляется с нагрузкой — ошибки появляются при наплыве посетителей или роботов: Сайт тормозит от наплыва запросов;
- ошибка в PHP после обновления CMS или плагина.
Если ошибка держится дольше нескольких минут, напишите нам — адрес страницы и время, когда она появилась.
На своём сервере
Главная подсказка — в журнале ошибок nginx:
sudo tail -n 30 /var/log/nginx/error.log| Строка в журнале | Причина |
|---|---|
connect() to unix:/run/php/php8.4-fpm.sock failed (2: No such file or directory) | PHP-FPM не запущен или в настройках nginx не тот путь к сокету |
connect() … (13: Permission denied) | у nginx нет прав на сокет PHP-FPM — проверьте listen.owner и listen.group в настройках пула |
connect() failed (111: Connection refused) while connecting to upstream | приложение на этом порту не запущено — например, контейнер Docker остановлен |
upstream prematurely closed connection | приложение упало посреди ответа — смотрите его собственный журнал |
Проверьте, работает ли то, к чему обращается nginx:
systemctl status php8.4-fpm # имя службы — по вашей версии PHP
sudo journalctl -u php8.4-fpm -n 50
sudo ss -ltnp # слушает ли приложение свой портЕсли PHP-FPM или приложение периодически исчезают сами — проверьте, не завершает ли их система из-за нехватки памяти: OOM killer. Как читать журналы служб — Журналы: journalctl и /var/log.
502 и 504 — в чём разница
502 — приложение ответило ошибкой или не ответило вовсе. 504 Gateway Timeout — приложение не успело ответить за отведённое время: nginx ждал и сдался. При 504 ищите медленные запросы к базе и долгие скрипты; время ожидания в nginx задают proxy_read_timeout и fastcgi_read_timeout.
Не нашли ответ? Напишите в поддержку — подскажем.


