- Как исправить ошибку 502 вебмастеру: пошаговый алгоритм
- Как исправить ошибку 502 пользователю: пошаговый алгоритм
- Чек-лист: что проверить в первую очередь
Ошибка 502 (ERROR 502 Bad Gateway) — это сбой, который свидетельствует о получении некорректного ответа от вышестоящего по иерархии сервера. Простыми словами это получение неправильного ответа, приводящего к невозможности загрузить контент страницы.
Важно: сбой Bad Gateway может появляться как на определенной странице сайта, так и сразу на всех. Но наиболее часто встречается именно первый случай.
Чаще всего возникает по вине хостинга, DNS или прокси-сервера. Логика появления ошибки следующая: файлы публичного веб-сайта всегда располагаются на сервере. Пользовательский клиент (чаще всего, браузер) делает соответствующий запрос, чтобы получить данные из физического сервера и вывести их на пользовательском компьютере. Когда отправить файлы не получается — выводится ошибка с кодом от 500-й до 511-й.
Сам текст ошибки 502 может различаться. Часто встречаются варианты 502 Server Error, Bad Gateway, Temporary Error, HTTP 502 и другие.
Быстрая навигация по решению
- Если вы владелец сайта — проверьте логи сервера, ресурсы хостинга, конфигурацию Apache/Nginx
- Если вы посетитель — очистите кэш, попробуйте другой браузер, проверьте статус сайта
Как исправить ошибку 502 вебмастеру: пошаговый алгоритм
Рассмотрим возможные причины и разберем алгоритм исправления источника ошибки. Рекомендуется проверять причины в следующем порядке: сначала диагностика через логи, затем проверка ресурсов и конфигурации.
Анализ логов сервера (первый шаг диагностики)
Чтобы диагностировать причину ошибки, необходимо проверить логи сервера. В логах вы сможете обнаружить конкретные источники проблемы: нехватку памяти сервера (ошибка OOM), конфликты после обновлений, проблемы с FastCGI или связкой Nginx + Apache.
Что делать?
- Найдите файл с логами. Обычно кнопка с доступом к логам сервера есть в административной панели. Самое частое название такого файла —
access.log. Если вы не нашли его — напишите в саппорт хостинга. Уточните, что серверные логи нужны вам для решения ошибки. - Проанализируйте файл с ошибками. Логи сервера с ошибками обычно по умолчанию отправляются в файл
error.log - Ищите значение OOM или другие ошибки. Обязательно обращайте внимание на директиву %s со значением 502 (это и есть код состояния искомой нами ошибки).
Директивы в формате combined:
| Директива | Описание |
|---|---|
| %s | код состояния HTTP |
| %h | IP-адрес запроса |
| %{User-Agent} | HTTP-заголовок |
| %l | полное название хоста |
| %b | отданные байты |
| %u | пользователь |
| %r | тип и содержимое запроса |
| %t | время запроса |
Недостаток вычислительных ресурсов. Тарифный план хостинга
Если у вас жесткое ограничение производительности на выбранном тарифном плане хостинга, ошибка Bad Gateway может появляться при попытке открыть любую страницу сайта. Особенно часто эта причина встречается при использовании VPS на начальных тарифах.
Что делать?
- Проверьте статическую нагрузку, текущий размер оперативной памяти и размер хранилища для файлов сайта на используемом хостинге.
- Проверьте оперативную память сервера. Чтобы проверить текущий объем оперативной памяти, запустите командую строку сервера, затем укажите команды
free -m(либо командуtop).
Недостаток производительности хостинга особенно часто проявляется при аномально высокой посещаемости.
Обратите внимание на параметры total (общий объем памяти), free (свободный объем памяти в данный момент), used (использующийся объем памяти в данный момент).
Если вы видите, что свободной памяти еще много, то причину ошибки нужно искать в другом.
Увеличение лимитов FastCGI
HTTP-сервер Apache настраивается путем размещения директив в текстовых файлах конфигурации. Основной файл конфигурации обычно называется httpd.conf. Его расположение устанавливается во время компиляции, но может быть переопределено флагом командной строки -f.
Проект HTTP-сервера Apache, широко известный как Apache HTTPD или Apache, представляет собой HTTP-сервер с открытым исходным кодом, на котором работает большая часть веб-приложений. Apache HTTPD является кроссплатформенным и может работать в системах на базе Unix и Windows.
Важно: ошибка 502 часто возникает при использовании связки Nginx + Apache, когда прокси-сервер (Nginx) не может получить корректный ответ от backend-сервера (Apache). В этом случае необходимо проверить настройки FastCGI на обоих серверах.
Что делать?
- Найдите и отредактируйте файл
httpd.conf. - Измените установленное значение для FastCGI.
- Увеличьте его на 500-600 пунктов.
Обратите внимание: директива клиент-серверного протокола FastCGI в конфигурационном файле обозначается как mod_fastcgi:
Cloudflare и CDN
Если вы настроили Cloudflare или похожее решение против хакерских атак, попробуйте отключить эту защиту. Часто Bad Gateway ошибка возникает по вине таких сервисов. То же самое можно сказать и о сторонних сетях доставки содержимого (СDN), с которыми соединен ваш сайт.
Что делать?
- Временно отключите Cloudflare.
- Временно отключите CDN (сеть доставки содержимого).
- Проверьте статус самого сервиса Cloudflare на официальной странице статуса (status.cloudflare.com) — возможны глобальные сбои.
- Проверьте, стала ли доступна проблемная страница. Если да — настройте используемые внешние сервисы так, чтобы они не ограничивали доступ к странице.
Важно: отключение вашего сайта от любых сервисов, которые перенаправляет ваш трафик на собственные сервера (например, тот же CloudFlare) произойдет не сразу, а только через 5-6 часов или даже дольше, так как должно произойти обновление записей DNS.
Конфликт плагинов, проблемы после обновления CMS
Всегда запоминайте (а лучше — записывайте) все изменения, которые вы делаете на сайте. Будь то установка плагина, добавление нового функционала или изменение дизайна страницы. Так вы сможете просто диагностировать источник появления ошибки 502 и сразу перейти к его устранению. Например — удалить конфликтующий плагин через админку используемой CMS.
Откат к исправно работающей версии сайта может стать решением Bad Gateway в ряде случаев.
Как правило, хостинги автоматически создают резервные копии сайтов и баз данных своих пользователей один раз в сутки.
Что делать?
Показываем на примере хостинга Beget:
- Чтобы откатиться к исправно работающей версии сайта, откройте раздел Backup в панели управления используемого хостинга.
- Чтобы выгрузить файлы (создать бэкап), выберите необходимые файлы, отметив чекбокс слева от них:
- Чтобы восстановить сайт из резервной копии, выберите копию (в Beget «Текущее состояние») и затем кликните по синей стрелке:
- Далее следуйте подсказкам хостинга, чтобы восстановить работоспособность сайта из бэкапа максимально корректно.
Вы можете настроить автоматическое копирование или бэкап по требованию.
Как исправить ошибку 502 пользователю: пошаговый алгоритм
Мы уже отмечали в начале, что источник Bad Gateway чаще всего находится на стороне сервера, поэтому пользователь устранить эту ошибку самостоятельно не сможет.
Но в редких случаях появление сбоя связано с проблемами, которые можно решить. Например, очисткой временных файлов сайта (поможет, если администратор вносил изменения в контент страницы и при этом на сайте настроено кэширование).
Что делать?
- Проверьте статус сайта через сервис «Down For Everyone Or Just Me» (downforeveryoneorjustme.com) — это поможет определить, проблема глобальная или только у вас.
- Напишите администратору сайта о возникшей проблеме.
- Попробуйте зайти на сайт в то время, когда поток пользователей небольшой (например, очень рано утром или ночью).
- Отключите все плагины / расширения в используемом браузере (в редких случаях они могут приводить к конфликтам). Подтвердить этот источник сбоя поможет просмотр проблемного сайта в режиме инкогнито.
- Очистите DNS-кэш в своей системе. Для этого нужно открыть встроенный в Windows инструмент cmd и прописать команду
ipconfig /flushdns:
Все, DNS cache успешно очищен:
- Поменяйте используемый браузер. В очень редких случаях ошибка может появляться, когда сервер не в состоянии передать данные в конкретный браузер.
Чек-лист: что проверить в первую очередь
Четыре самых распространенных сценария появления Bad Gateway на сайте:
- Анализ логов сервера — проверьте
error.logиaccess.logна наличие ошибок с кодом 502, OOM или проблем с FastCGI. - Недостаток вычислительных ресурсов — проверьте RAM, CPU и дисковую квоту на хостинге командой
free -m. - Конфликт плагинов или обновлений CMS — откатите последние изменения через резервную копию.
- Cloudflare, CDN или связка Nginx + Apache — временно отключите проксирование и проверьте конфигурацию серверов.
Найдите свою причину и устраните ее, следуя нашему алгоритму.
