Ошибка часто связана не с браузером пользователя, а с серверной цепочкой: хостингом, reverse proxy, CDN, Cloudflare, Nginx, Apache, PHP-FPM или backend-приложением. Ниже — полный разбор основных причин.
Quick Fix
- Обновите страницу и проверьте сайт позже.
- Проверьте, не лежит ли origin server или backend.
- Посмотрите логи Nginx, Apache, PHP-FPM и приложения.
- Проверьте Cloudflare или CDN, если они используются.
- Убедитесь, что backend-процессы не перегружены.
- Проверьте таймауты, сокеты и proxy-настройки.
- Если сайт на WordPress, проверьте плагины, тему и PHP.
Что значит 502 Bad Gateway
502 Bad Gateway появляется, когда сервер-шлюз или proxy-сервер получает неправильный, пустой или неожиданный ответ от upstream server. Обычно это не ошибка одной страницы, а проблема связи между двумя уровнями серверной инфраструктуры.
Например, Nginx может стоять перед Apache или PHP-FPM. Если backend не отвечает нормально, пользователь увидит именно 502.
Как выглядит ошибка 502
На разных сайтах и серверах она может выглядеть по-разному:
- 502 Bad Gateway
- HTTP Error 502
- 502 Proxy Error
- Bad Gateway
- Cloudflare 502 Bad Gateway
- nginx 502 Bad Gateway
Текст отличается, но суть одна: промежуточный сервер не получил корректный ответ от backend.
Основные причины 502 Bad Gateway
1. Backend-сервер не работает
Это одна из самых частых причин. Если Apache, PHP-FPM, Node.js-приложение, Python backend или другой upstream-процесс упал, завис или не запустился, reverse proxy не сможет получить от него ответ.
2. Перегрузка сервера
Если origin server перегружен по CPU, RAM, диску, PHP workers или числу процессов, backend может отвечать слишком медленно, обрываться или вообще не принимать новые соединения. В результате фронтовый сервер отдаёт 502.
3. Неправильная конфигурация Nginx, Apache или proxy
Ошибка в proxy_pass, upstream, сокете, порте, virtual host или reverse proxy-настройках часто вызывает Bad Gateway. Сервер-шлюз просто обращается не туда или не может достучаться до backend.
4. PHP-FPM не отвечает или работает с ошибкой
На WordPress и PHP-сайтах это очень частая причина. Если PHP-FPM завис, упал, переполнен, настроен на неправильный сокет или не хватает worker-ов, Nginx часто отдаёт 502.
5. Таймаут между серверами
Если backend отвечает слишком долго, промежуточный сервер может считать соединение некорректным. Формально это может быть и 504, но в ряде конфигураций и сценариев сервер отдаёт именно 502.
6. Ошибка DNS или неверный IP upstream
Если proxy-сервер пытается отправить запрос на backend по неправильному IP, hostname или устаревшей DNS-записи, он не сможет получить корректный ответ. Это особенно часто бывает после миграции, смены контейнера или обновления инфраструктуры.
7. Cloudflare или CDN не могут получить нормальный ответ от origin
Если сайт использует Cloudflare или другой CDN, ошибка 502 может означать проблему между edge-сетью и origin server. Иногда это backend-сбой, иногда проблема SSL, firewall или нестабильного origin.
8. Firewall, WAF или ModSecurity режут запрос
Если сервер безопасности слишком агрессивно блокирует запросы между слоями инфраструктуры, фронтовый сервер может получать невалидный ответ или обрыв соединения. Пользователь в итоге видит 502.
9. Ошибка в приложении
Сломанный WordPress-плагин, фатальная ошибка в PHP, баг в Node.js-приложении, неверный .env, неправильное подключение к базе данных или кривой deploy backend-кода тоже могут ломать ответ сервера и вызывать Bad Gateway.
10. Проблемы с базой данных
Иногда backend-приложение формально работает, но не может подключиться к MySQL, MariaDB, PostgreSQL или Redis. В результате приложение падает или возвращает некорректный ответ вверх по цепочке.
11. Сбой после обновления или миграции
После смены хостинга, версии PHP, контейнера, панели управления, reverse proxy или проксируемого порта ошибка 502 появляется очень часто. Один неправильный параметр в конфигурации может полностью оборвать связь между серверами.
12. Проблема с SSL/TLS между слоями инфраструктуры
Если один сервер пытается подключиться к другому по HTTPS, а сертификат, порт или TLS-настройки неверны, ответ может ломаться. В некоторых конфигурациях это тоже приводит к 502.
Когда 502 Bad Gateway чаще всего появляется
- После обновления сайта, плагина или темы.
- После миграции на новый хостинг или VPS.
- После изменения конфигурации Nginx, Apache или PHP-FPM.
- При пиковом трафике и перегрузке сервера.
- После включения Cloudflare, CDN или reverse proxy.
- После смены DNS, IP или backend-порта.
Как понять, на чьей стороне проблема
Если вы обычный посетитель сайта
Скорее всего, проблема на стороне сайта, а не у вас. Обычно достаточно обновить страницу, очистить кэш браузера, попробовать другой браузер или просто подождать. Ошибка 502 редко означает проблему на устройстве пользователя.
Если вы владелец сайта
Нужно проверять цепочку серверов: frontend, reverse proxy, backend, PHP, приложение, базу данных, CDN и firewall. Именно там обычно и находится реальная причина.
502 Bad Gateway в WordPress — частые причины
- Конфликт плагинов.
- Сломанная тема или functions.php.
- Нехватка памяти PHP.
- PHP-FPM перегружен или не работает.
- Ошибка после обновления WordPress или PHP.
- Проблема с Cloudflare или кэш-плагином.
На WordPress ошибка 502 очень часто выглядит как серверная, но фактически её вызывает один проблемный плагин или тяжёлый PHP-процесс.
502 Bad Gateway в Nginx — частые причины
- Неверный upstream.
- Неправильный сокет PHP-FPM.
- PHP-FPM service down.
- Ошибки в proxy_pass.
- Upstream prematurely closed connection.
- Недостаточно worker processes или backend connections.
Если сайт работает через Nginx, логи почти всегда дают прямую подсказку, куда именно смотреть дальше.
502 Bad Gateway в Cloudflare — частые причины
Если вы видите Cloudflare 502, проблема может быть либо на стороне origin server, либо в цепочке между Cloudflare и сервером сайта. Часто виноваты перегруженный origin, некорректный ответ сервера, firewall, нестабильный хостинг или неправильные SSL-настройки.
Что проверять владельцу сайта в первую очередь
- Работает ли backend-сервис.
- Есть ли ошибки в логах Nginx, Apache и PHP-FPM.
- Не перегружен ли сервер.
- Не упирается ли сайт в лимиты хостинга.
- Правильно ли указан upstream или сокет.
- Работает ли база данных.
- Нет ли ошибки после недавнего обновления.
- Не блокирует ли firewall нормальные запросы.
Чем 502 отличается от других ошибок
- 500 Internal Server Error: внутренняя ошибка на самом сервере или в приложении.
- 502 Bad Gateway: сервер-шлюз получил плохой ответ от upstream.
- 503 Service Unavailable: сервис временно недоступен или на обслуживании.
- 504 Gateway Timeout: upstream отвечал слишком долго.
Эти ошибки похожи, но 502 почти всегда указывает именно на проблему связи между серверными уровнями.
Что делать после появления ошибки 502
- Проверить, временная ли это ошибка.
- Посмотреть server logs.
- Проверить backend и PHP-FPM.
- Проверить ресурсы сервера.
- Проверить конфигурацию Nginx или Apache.
- Отключить проблемные плагины, если сайт на WordPress.
- Проверить Cloudflare, CDN и firewall.
- При необходимости обратиться в поддержку хостинга.
Как избежать 502 Bad Gateway в будущем
- Следите за нагрузкой на сервер.
- Мониторьте PHP-FPM, backend и базу данных.
- Тестируйте конфиги перед reload и deploy.
- Делайте бэкапы перед крупными изменениями.
- Не перегружайте сайт тяжёлыми плагинами и скриптами.
- Проверяйте логи после обновлений.
FAQ
Что означает 502 Bad Gateway?
Это означает, что один сервер в цепочке получил неправильный или пустой ответ от другого сервера, который должен был обработать запрос.
502 Bad Gateway — это проблема у меня или у сайта?
Обычно у сайта. Чаще всего ошибка находится на стороне сервера, backend-приложения, CDN или reverse proxy.
Может ли Cloudflare вызывать 502?
Cloudflare может показывать 502, если не получает корректный ответ от origin server или если есть проблема в цепочке между ним и сервером сайта.
Почему 502 ошибка появляется после обновления?
Потому что обновление могло сломать backend, PHP, плагин, тему, конфиг сервера или соединение между компонентами сайта.
Где искать точную причину 502?
В логах Nginx, Apache, PHP-FPM, приложения и панели хостинга. Именно там обычно видно, какой upstream не ответил нормально.
