Ошибка 502 Bad Gateway: что значит и как исправить
502 Bad Gateway означает, что промежуточный сервер (nginx, прокси, CDN) получил плохой ответ или вообще не получил ответа от сервера, где работает сайт. Посетителю: обновите страницу и подождите. Владельцу сайта: проверьте, запущен ли PHP-FPM или приложение, и посмотрите error.log.
- Причина
- Сервер-шлюз не получил корректный ответ от основного сервера или приложения
- Решение
- Посетителю: обновить страницу и подождать. Владельцу: перезапустить PHP-FPM/приложение, проверить логи и таймауты

Оглавление статьи
502 Bad Gateway — это код ответа HTTP. Он значит, что сервер-посредник (шлюз) не смог получить нормальный ответ от сервера, на котором живёт сайт. Проблема, как правило, не в вашем компьютере, а на стороне сайта.
Что происходит
Между вами и сайтом часто стоит цепочка: CDN (например, Cloudflare), обратный прокси или веб-сервер nginx, а за ним приложение (PHP-FPM, Node.js, Python). Запрос идёт по цепочке. Если последнее звено не ответило, упало, вернуло мусор или ответило слишком долго, посредник отдаёт вам 502.
Если вы посетитель сайта
- Обновите страницу (F5 или Ctrl+F5). Нередко сбой разовый.
- Подождите 5–10 минут: сервер мог перезапускаться или быть перегружен.
- Откройте сайт с другого устройства или сети (например, с мобильного интернета), чтобы исключить проблему на вашей стороне.
- Проверьте, не упал ли сайт у всех. Для этого подойдут сервисы вроде downdetector.
- Очистите кэш браузера или откройте страницу в режиме инкогнито.
- Перезагрузите роутер и смените DNS (например, на 8.8.8.8 или 1.1.1.1), если ошибка только у вас.
Если ничего не помогло, остаётся подождать или написать владельцу сайта.
Если вы владелец сайта
1. Посмотрите логи
В логе ошибок nginx (обычно /var/log/nginx/error.log) причина видна сразу. Типичные записи:
connect() failed (111: Connection refused): приложение не запущено или слушает другой адрес.upstream timed out: приложение отвечает слишком долго.upstream prematurely closed connection: приложение упало во время обработки запроса.
2. Проверьте, работает ли приложение
systemctl status php8.2-fpm
systemctl restart php8.2-fpm
Замените имя службы на своё (версия PHP-FPM, gunicorn, pm2 и так далее). Убедитесь, что сокет или порт в конфиге nginx (fastcgi_pass, proxy_pass) совпадает с тем, что слушает приложение.
3. Проверьте ресурсы сервера
Нехватка памяти или процессора часто приводит к падению PHP-FPM. Посмотрите загрузку (top, free -m) и записи об убитых процессах (dmesg | grep -i oom).
4. Увеличьте лимиты и таймауты
Если запросы тяжёлые (импорт, отчёты), поднимите fastcgi_read_timeout/proxy_read_timeout в nginx и max_children в пуле PHP-FPM.
5. Отключите плагины и проверьте сайт
В WordPress отключите недавно установленные плагины и тему: частая причина — конфликт или бесконечный цикл в коде.
6. Если сайт за CDN
Проверьте, отвечает ли ваш сервер напрямую (в обход CDN) и доступен ли он для адресов CDN: firewall мог заблокировать запросы.
Чем 502 отличается от 503 и 504
- 502: шлюз получил плохой ответ или не получил его.
- 503: сервис временно недоступен (перегрузка, обслуживание).
- 504: шлюз не дождался ответа (таймаут).
Частые вопросы
Что значит 502 Bad Gateway простыми словами?
Промежуточный сервер обратился к основному серверу сайта и не получил нормального ответа. Сайт при этом не обязательно «упал»: он мог просто не ответить вовремя.
Ошибка 502 на моей стороне или на стороне сайта?
Чаще всего на стороне сайта или его хостинга. Если сайт открывается с другого устройства или сети, проблема у вас: очистите кэш, смените DNS, перезагрузите роутер.
Как исправить 502 в nginx с PHP-FPM?
Проверьте, запущен ли PHP-FPM, совпадает ли сокет в конфиге nginx, хватает ли памяти, и прочитайте error.log: там указана конкретная причина.
Чем отличаются 502 и 504?
502 — шлюз получил некорректный ответ или соединение отклонено. 504 — шлюз не дождался ответа за отведённое время.