Ошибки

Ошибка 502 Bad Gateway: что значит и как исправить

Простыми словами о том, что сломалось на сервере, чем 502 отличается от 503 и 504 и почему перезагрузка помогает лишь на время.

Обновлено 5 мин чтенияИнженеры VECTRA

Ошибка 502 Bad Gateway значит, что сайт не смог собрать страницу. На сервере работают две части: «вахтёр», который принимает посетителей, и «мастер», который готовит страницы. Вахтёр передал запрос мастеру, а тот не ответил или ответил что-то непонятное. Посетитель видит 502. Разберём, почему мастер замолкает и как это исправить.

Чем 502 отличается от 503 и 504

Эти три ошибки похожи, но говорят о разном. По номеру уже можно понять, куда смотреть.

ОшибкаЧто произошлоЧастая причина
502 Bad GatewayЧасть сервера, которая собирает страницы, не ответила или ответила с ошибкойОна упала, перезапускается или ей не хватило памяти
503 Service UnavailableСервер сам сообщает, что сейчас не может работатьПерегрузка, технические работы, превышены лимиты хостинга
504 Gateway TimeoutСтраница собиралась слишком долго, и сервер перестал ждатьТяжёлый запрос к базе данных, медленный плагин, зависшая внешняя служба

Почему появляется 502

  • Упала или перезапускается программа, которая собирает страницы. На большинстве сайтов это PHP. Пока она поднимается, посетители видят 502.
  • Не хватает памяти. Когда память заканчивается, система сама останавливает самые прожорливые процессы, и сайт замолкает.
  • Закончились свободные «руки». Сервер может собирать одновременно только определённое число страниц. Наплыв посетителей после рекламы или нашествие ботов занимают их все.
  • Ошибка в настройках после обновления, переезда или смены версии PHP.
  • Тяжёлые страницы и запросы. Поиск по каталогу, фильтры, выгрузки могут надолго занимать сервер.
  • Боты и атаки. Парсеры, перебор паролей и DDoS создают нагрузку, которую не видно по числу настоящих посетителей.
  • Сбой у защиты от атак или другой службы между посетителем и сервером.

Что проверить самому за 5 минут

  1. Подождите минуту и обновите страницу. Если программа просто перезапускалась, сайт вернётся сам. Но запомните время: если сбой повторится, это уже закономерность.
  2. Проверьте, весь ли сайт не работает. Если ошибка только на одной странице, скорее всего, она слишком тяжёлая.
  3. Откройте админку. Если админка работает, а сайт нет, виноват чаще плагин или тема.
  4. Загляните на страницу статуса хостинга и в его новости: возможно, проблема у всех клиентов.
  5. Вспомните, что изменилось. Обновления, новая реклама, рассылка, переезд.
  6. Посмотрите нагрузку в панели хостинга. Если процессор или память заняты на 100%, причина в нагрузке.

Если у вас свой сервер

На своём сервере причину видно по журналам. Вот что обычно в них находится и что это значит:

  • «connect() failed… Connection refused» в журнале веб-сервера nginx: программа, которая собирает страницы, не запущена или упала.
  • «upstream prematurely closed connection»: программа начала работу и оборвалась на середине. Часто из-за ошибки в коде или нехватки памяти.
  • «server reached pm.max_children» в журнале PHP: закончились свободные «руки», нужно разбираться с нагрузкой или настройками.
  • «Out of memory» в системном журнале: системе не хватило памяти, и она остановила процессы.

Перезапуск программы или сервера вернёт сайт, но только на время. Если нагрузка необъяснимо высокая, проверьте, нет ли на сервере чужих программ. Как это сделать, рассказываем в статье «Сервер загружен на 100%».

Ошибка 502 повторяется?

Пришлите адрес сайта и время сбоев. По журналам найдём причину и назовём цену до начала работ.

Почему перезагрузка не решает проблему

Перезагрузка освобождает память и запускает всё заново. Сайт оживает, и кажется, что проблема ушла. Но причина остаётся: тот же плагин снова съест память, те же боты снова займут сервер. Хуже всего, что ошибка возвращается в самый неудобный момент, при наплыве посетителей. То есть именно тогда, когда вы заплатили за рекламу.

Поэтому важно не только вернуть сайт, но и найти, что именно его роняет.

Как не допустить ошибку 502

  • Следите за сервером. Мониторинг пришлёт уведомление, когда память или процессор подходят к пределу, ещё до сбоя.
  • Держите запас ресурсов. Особенно перед рекламными кампаниями и распродажами.
  • Включите кэширование. Готовые страницы отдаются мгновенно и почти не нагружают сервер.
  • Ограничьте ботов. Блокировка перебора паролей и лишних парсеров снимает заметную часть нагрузки.
  • Ускорьте тяжёлые страницы: поиск, фильтры, выгрузки.

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

Частые вопросы

Ошибка 502 это проблема у меня или у сайта?

Почти всегда у сайта. Если ошибку видят все посетители и с разных устройств, дело в сервере. Если только вы, попробуйте другой браузер или сеть: иногда мешает VPN или прокси.

Хостинг говорит, что у них всё работает. Что делать?

Хостинг отвечает за сервер в целом, а 502 часто возникает из-за лимитов вашего аккаунта или кода сайта. Попросите у поддержки журналы ошибок за время сбоя или передайте доступ специалисту: по журналам причина обычно видна сразу.

Влияет ли ошибка 502 на позиции в поиске?

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

Сколько стоит исправить ошибку 502?

Зависит от причины: иногда хватает настройки сервера, иногда нужно разбираться с тяжёлым кодом или ботами. Исправление ошибок у нас стоит от 3 000 ₽, оценка бесплатно, цену называем до начала работ.

Связь

Напишите, что случилось

Ответим в течение 15 минут, оценим бесплатно и назовём цену до начала работ. Опишите проблему как удобно: текстом, голосовым сообщением или скриншотом.