Ошибка 502 (Bad Gateway): что это и как с ней разобраться

Желтый робот рядом с сервером с ошибкой 502

Когда ты видишь на экране сообщение «502 Bad Gateway» или просто «ошибка 502», это значит, что сервер, который должен обработать твой запрос (обычно веб-сервер или CDN, выступающий в роли посредника), не получил корректного ответа от следующего сервера в цепочке — например, от backend-приложения или origin-сервера за CDN. В подавляющем большинстве случаев это не связано с твоим устройством или интернетом — проблема на стороне сайта, где нарушилась связь между серверами.

Почему появляется ошибка 502

Самая частая техническая причина — сбой в работе PHP-FPM (процесс, который обрабатывает PHP-скрипты на большинстве сайтов, включая WordPress и другие CMS). Если PHP-FPM останавливается — из-за нехватки памяти, ошибки в конфигурации, конфликта портов или падения при выполнении «тяжёлого» кода, — веб-сервер (обычно Nginx) не может передать ему запрос и отдаёт 502.

Другие частые причины:

  • Перегрузка сервера — резкий всплеск трафика или скрипт, который потребляет слишком много CPU или памяти.
  • Backend отвечает дольше, чем разрешено таймаутом — если бэкенд не укладывается в лимит (proxy_read_timeout, fastcgi_read_timeout в настройках Nginx), прокси обрывает ожидание и возвращает 502, даже если backend просто работает медленно, а не сломан.
  • Проблемы на уровне CDN/прокси. Если сайт работает через Cloudflare или похожий CDN, 502 может означать, что CDN не может достучаться до твоего origin-сервера: сервер выключен, файрвол блокирует IP-диапазоны CDN, или DNS-запись origin указывает не туда.
  • Ошибки конфигурации — некорректные настройки .htaccess, PHP или DNS могут блокировать обработку запроса.
  • Сбой базы данных или стороннего API, к которому подключается сайт при формировании страницы.
  • Защитные меры на сервере — системы безопасности иногда блокируют запросы, которые выглядят подозрительно, особенно во время DDoS-атаки.

Как исправить ошибку 502, если ты владелец сайта

  1. Проверь статус сервера и PHP-FPM. Это самая частая причина — если хостинг предоставляет доступ к панели управления или SSH, проверь, запущен ли процесс PHP-FPM, и посмотри его логи на предмет ошибок (нехватка памяти, синтаксическая ошибка в конфиге). Если сервис остановлен — перезапусти его и настрой автозапуск при перезагрузке сервера, чтобы сбой не повторился.
  2. Если сайт за CDN (например, Cloudflare) — проверь, что origin-сервер включён, доступен и не блокирует IP-диапазоны CDN в файрволе, а DNS-запись действительно указывает на актуальный IP сервера.
  3. Проверь настройки таймаутов. Если backend просто не успевает ответить вовремя (например, из-за тяжёлого запроса к базе), увеличь значения proxy_read_timeout и fastcgi_read_timeout в конфигурации Nginx и одновременно проверь, не стоит ли увеличить количество рабочих процессов PHP-FPM — типичная ситуация, когда пул воркеров исчерпан под нагрузкой.
  4. Проверь настройки самого сервера. Временно переименуй файл .htaccess, чтобы исключить его влияние на обработку запроса. Убедись, что PHP обновлён до поддерживаемой версии, а параметры max_execution_time и memory_limit в php.ini выставлены с запасом под реальную нагрузку сайта.
  5. Включи режим отладки в CMS и посмотри логи веб-сервера — сообщения вроде connect() failed обычно означают, что backend недоступен, permission denied — проблему с правами доступа к сокету, а upstream prematurely closed connection — что backend упал уже в процессе формирования ответа. Логи почти всегда точно указывают, в каком звене цепочки произошёл сбой.
  6. Восстанови резервную копию или откати изменения, если сбой начался сразу после обновления плагина, темы или кода сайта.

Отдельно стоит сказать про DNS: очистка локального кеша DNS на своём компьютере (ipconfig /flushdns на Windows, sudo dscacheutil -flushcache на macOS) сама по себе не чинит 502 на сервере — это диагностический шаг, который полезен только для проверки, не смотрит ли твой собственный компьютер на устаревшую DNS-запись после недавнего переезда сайта или смены хостинга. Проблему на сервере это не устраняет.

Если ничего из перечисленного не помогает — обращайся в техподдержку хостинга или к разработчику: покажи им логи, это сильно ускорит диагностику.

Что делать, если ты просто посетитель сайта

Если ты зашёл на сайт и увидел ошибку 502, попробуй обновить страницу — проблема часто временная. Подожди 10–15 минут: сервер мог просто перегрузиться и восстановиться сам. Очисти кеш браузера или открой сайт в режиме инкогнито — иногда браузер показывает сохранённую страницу с ошибкой, хотя сайт уже снова работает. Попробуй другую сеть или отключи VPN — в редких случаях проблема связана именно с маршрутом до сервера через конкретного провайдера.

Когда обращаться к специалистам

Если ошибка не исчезает больше суток — пиши в техподдержку хостинга или привлекай разработчика. Чем быстрее устранить неполадку, тем меньше потерь трафика и репутации сайта — особенно если поисковые роботы успеют несколько раз подряд получить 502 при попытке зайти на сайт.

Вывод

Ошибка 502 — распространённое, но чаще всего временное явление, связанное с нарушением связи между серверами в цепочке (веб-сервер → PHP-FPM → база данных, или CDN → origin-сервер). В большинстве случаев проблема решается быстро, если действовать по порядку: проверить статус PHP-FPM и origin-сервера, посмотреть логи, проверить таймауты и настройки прокси. Регулярно обновляй ПО, следи за нагрузкой на сервер и держи под рукой доступ к логам — это сильно сокращает время на диагностику, если 502 всё же появится.


🚀 Раскройте потенциал своего сайта! Бесплатный SEO-разбор от экспертов покажет, почему вы теряете клиентов из-за низкого трафика, выявит ошибки и точки роста — и подарит план оптимизации. Получи аудит сайта от SEGMENT-SEO!

Поделится:

Мы используем файлы cookie и аналогичные технологии для работы сайта, а также собираем обезличенные данные о посетителях с помощью сервиса Яндекс.Метрика.
Пользуясь сайтом, вы соглашаетесь с Политикой обработки персональных данных.
Принять
Политика конфиденциальности