Beget ошибка 502

Эта статья поможет разобраться, почему на сайтах время от времени появляется ошибка 502 Bad Gateway nginx (HTTP Error 502) и как эту проблему решить.

Если вы посетитель

Если вы не можете попасть на сайт из-за ошибки 502, сделать можно не так много:

  • Перезагрузить страницу, сбросив кеш (Ctrl+Shift+R, Ctrl+F5 или Shift+F5). К сожалению, это помогает не так часто, как хотелось бы.
  • Зайти попозже. Через минуту, через полчаса, ночью или рано утром. Скорее всего сервер перегружен. Исправить это вы не сможете, этим должен заняться администратор сайта. Если сайт для вас важный, и у вас есть время, напишите администратору письмо. Чем больше обращений, тем вероятнее, что на проблему обратят внимание и серьезно ей займутся.

Если вы администратор сайта

Если эта ошибка возникает, значит HTTP-запросы от посетителей к вашему сайту идут через так называемый «шлюз», программу-посредник. Например, если на хостинге перед веб-сервером Apache стоит веб-сервер nginx, то nginx будет шлюзом.

502-ая ошибка означает, что запрос от клиента прошел nginx, попал к Apache, и Apache не смог запрос обработать, о чем сообщил nginx’у. В результате nginx отдает клиенту ошибку.

Если PHP работает в режиме FastCGI, то любой веб-сервер перед ним будет шлюзом.

Почему Apache не смог обработать запрос? Как это исправить?

Скорее всего, если сайт раньше работал, а теперь не открывается, дело не в ошибках конфигурации среды. Причина может быть в нехватке ресурсов сервера, и, следовательно, в невозможности обслужить всех клиентов. В частности, проблема может быть в нехватке оперативной памяти. Или вы можете упираться в какое-то ограничение, например, на количество процессов. Иногда Apache или ваше приложение могут периодически падать/перезапускаться, в эти моменты фронт-серверу тоже ничего не остаётся, кроме как отдавать ошибку 502. Такое может случиться и на VPS, и на shared-хостинге.

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

Возможен случай, когда ошибка 502 постоянная, возникла на этапе настройки сервера. Его сейчас подробно рассматривать не будем. Скорее всего, фронт-сервер и то, что находится за ним, не состыкованы. Или вообще Apache не запущен.

Если у вас VPS

Если PHP работает через FastCGI, то на сервере может не хватать php-cgi процессов в моменты, когда на сайте много посетителей, пришел прожорливый бот, кто-то скачивает ваш сайт целиком или идёт DoS-атака. Веб-серверу нужно бы запустить дополнительные процессы, но памяти под них уже нет. Значит, нужно добавить памяти либо оптимизировать расход доступной

  • Запустите команду top. Посмотрите, есть ли свободная память и запущен ли Apache.
  • Посмотрите логи Apache и nginx (ошибки 502 попадают в него). Есть паразитная активность? Если есть, баньте по ip, настраивайте Fail2ban, подключайте защиту от DdoS.
  • Если получилось ограничить количество запросов к серверу, перезапустите Apache.
  • Если в логах всё нормально, но мало свободной памяти, и есть возможность ее оперативно добавить, попробуйте это сделать. Сейчас у многих провайдеров это делается в биллинге буквально за пару минут.
  • Если же команда top показывает, что свободная память есть, возможно, дело в установленных лимитах на количество php-cgi процессов. Нужно смотреть конфигурационные файлы Apache (httpd.conf), особенно секцию модуля, отвечающего за FastCGI (mod_fascgi или mod_fastcgid), и увеличивать лимиты.

Если дело в нехватке памяти, то в логах будут ошибки OOM (out of memory). Когда ОС очень нужна память, то ядро может попытаться освободить её при помощи механизма OOM killer, просто убивая активные процессы. Например, здесь пришлось пожертвовать Апачем:
Out of memory: kill process 1718 (apache2) score 56789 or a child
Killed process 22504 (apache2)

Другой случай — когда, Apache периодически падает/перезапускается независимо от текущей нагрузки на сайт. В error.log может быть написано:

[core:notice] [pid 5795] AH00052: child pid 5858 exit signal Segmentation fault (11)
[mpm_prefork:notice] [pid 5795] AH00169: caught SIGTERM, shutting down

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

Ошибка 502 (ERROR 502 Bad Gateway) — это сбой, который свидетельствует о получении некорректного ответа от вышестоящего по иерархии сервера. Простыми словами это получение неправильного ответа, приводящего к невозможности загрузить контент страницы.

Важно: сбой Bad Gateway может появляться как на определенной странице сайта, так и сразу на всех. Но наиболее часто встречается именно первый случай.

Чаще всего возникает по вине хостинга, DNS или прокси-сервера. Логика появления ошибки следующая: файлы публичного веб-сайта всегда располагаются на сервере. Пользовательский клиент (чаще всего, браузер) делает соответствующий запрос, чтобы получить данные из физического сервера и вывести их на пользовательском компьютере. Когда отправить файлы не получается — выводится ошибка с кодом от 500-й до 511-й.

Сам текст ошибки 502 может различаться. Часто встречаются варианты 502 Server Error, Bad Gateway, Temporary Error, HTTP 502 и другие. 

Как исправить ошибку 502 вебмастеру: пошаговый алгоритм

Рассмотрим возможные причины и разберем алгоритм исправления источника ошибки.

Недостаток вычислительных ресурсов. Тарифный план хостинга

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

Что делать?

  1. Проверьте статическую нагрузку, текущий размер оперативной памяти и размер хранилища для файлов сайта на используемом хостинге. 
  2. Управление услугами на хостинге Beget. Для базового хостинга можно менять разрешенную нагрузку, дисковую квоту и количество сайтов

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

    Недостаток производительности хостинга особенно часто проявляется при аномально высокой посещаемости.

  3. Проверьте оперативную память сервера. Чтобы проверить текущий объем оперативной памяти, запустите командую строку сервера, затем укажите команды free -m (либо команду tor).

Проверяем доступный объем памяти сервера. MiB Mem — постоянная память. Mib Swap — память файла подкачки

Проверяем доступный объем памяти сервера. MiB Mem — постоянная память. Mib Swap — память файла подкачки

Обратите внимание на параметры total (общий объем памяти), free (свободный объем памяти в данный момент), used (использующийся объем памяти в данный момент).

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

Увеличение лимитов FastCGI

HTTP-сервер Apache настраивается путем размещения директив в текстовых файлах конфигурации. Основной файл конфигурации обычно называется httpd.conf. Его расположение устанавливается во время компиляции, но может быть переопределено флагом командной строки -f.

Проект HTTP-сервера Apache, широко известный как Apache HTTPD или Apache, представляет собой HTTP-сервер с открытым исходным кодом, на котором работает большая часть веб-приложений. Apache HTTPD является кроссплатформенным и может работать в системах на базе Unix и Windows.

Что делать?

  1. Найдите и отредактируйте файл httpd.conf. 
  2. Измените установленное значение для FastCGI. 
  3. Увеличьте его на 500-600 пунктов.

Обратите внимание: директива клиент-серверного протокола FastCG в конфигурационном файле обозначается как mod_fastcgi:

Пример содержимого файла httpd.conf

Пример содержимого файла httpd.conf

Глобальные изменения на сайте: обновления, установка плагинов, изменение дизайна или структуры URL

Чтобы диагностировать эту причину, необходимо проверить логи сервера. Кстати, в логах вы также сможете обнаружить и нехватку памяти сервера: такая ошибка называется OOM.

Что делать?

  1. Найдите файл с логами. Обычно кнопка с доступом к логам сервера есть в административной панели. Самое частое название такого файла — access.log. Если вы не нашли его — напишите в саппорт хостинга. Уточните, что серверные логи нужны вам для решения ошибки.
  2. Проанализируйте файл с ошибками. Логи сервера с ошибками обычно по умолчанию отправляются в файл error.log
  3. Ищите значение OOM или другие ошибки. Обязательно обращайте внимание на директиву %s со значением 502 (это и есть код состояния искомой нами ошибки).

Директивы в формате combined выглядят так:

  • %s — код состояния HTTP.
  • %h — IP-адрес запроса.
  • %{User-Agent} — HTTP-заголовок.
  • %l — полное название хоста.
  • %b — отданные байты.
  • %u — пользователь.
  • %r — тип и содержимое запроса.
  • %t — время запроса.

Cloudflare

Если вы настроили Cloudflare или похожее решение против хакерских атак, попробуйте отключить эту защиту. Часто Bad Gateway ошибка возникает по вине таких сервисов. То же самое можно сказать и о сторонних сетях доставки содержимого (СDN), с которыми соединен ваш сайт.

Капча, которая используется сетью Cloudflare для защиты сайта от хакерских атак

Капча, которая используется сетью Cloudflare для защиты сайта от хакерских атак

Что делать?

  1. Временно отключите Cloudflare.
  2. Временно отключите CDN (сеть доставки содержимого).
  3. Проверьте, стала ли доступна проблемная страница. Если да — настройте используемые внешние сервисы так, чтобы они не ограничивали доступ к странице.

Важно: отключение вашего сайта от любых сервисов, которые перенаправляет ваш трафик на собственные сервера (например, тот же CloudFlare) произойдет не сразу, а только через 5-6 часов или даже дольше, так как должно произойти обновление записей DNS.

Конфликт плагинов, проблемы после обновления CMS

Всегда запоминайте (а лучше — записывайте) все изменения, которые вы делаете на сайте. Будь то установка плагина, добавление нового функционала или изменение дизайна страницы. Так вы сможете просто диагностировать источник появления ошибки 502 и сразу перейти к его устранению. Например — удалить конфликтующий плагин через админку используемой CMS.

Откат к исправно работающей версии сайта может стать решением Bad Gateway в ряде случаев.

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

Что делать?

Показываем на на примере хостинга Beget:

  1. Чтобы откатиться к исправно работающей версии сайта, откройте раздел Backup в панели управления используемого хостинга. 
  2. Раздел BackUp на хостинге Beget доступен с главной страницы

    Раздел BackUp на хостинге Beget доступен с главной страницы

    Вы можете настроить автоматическое копирование или бэкап по требованию. 

  3. Чтобы выгрузить файлы (создать бэкап), выберите необходимые файлы, отметив чекбокс слева от них:
  4. Выгружаем резервную копию выбранных данных на хостинге Beget

    Выгружаем резервную копию выбранных данных на хостинге Beget
  5. Чтобы восстановить сайт из резервной копии, выберите копию (в Beget «Текущее состояние») и затем кликните по синей стрелке: 
  6. Восстанавливаем файлы сайта из резервной копии

    Восстанавливаем файлы сайта из резервной копии
  7. Далее следуйте подсказкам хостинга, чтобы восстановить работоспособность сайта из бэкапа максимально корректно.

Как исправить ошибку 502 пользователю: пошаговый алгоритм

Мы уже отмечали в начале, что источник Bad Gateway чаще всего находится на стороне сервера, поэтому пользователь устранить эту ошибку самостоятельно не сможет.  

Но в редких случаях появление сбоя связано с проблемами, которые можно решить. Например, очисткой временных файлов сайта (поможет, если администратор вносил изменения в контент страницы и при этом на сайте настроено кэширование).

Чтобы устранить ошибку, выполните следующие действия:

  • Напишите администратору сайта о возникшей проблеме.
  • Попробуйте зайти на сайт в то время, когда поток пользователей небольшой (например, очень рано утром или ночью).
  • Отключите все плагины / расширения в используемом браузере (в редких случаях они могут приводить к конфликтам). Подтвердить этот источник сбоя поможет просмотр проблемного сайта в режиме инкогнито.
  • Очистите DNS-кэш в своей системе. Для этого нужно открыть встроенный в Windows инструмент cmd и прописать команду ipconfig /flushdns:

Запустите командную строку и укажите команду ipconfig /flushdns

Запустите командную строку и укажите команду ipconfig /flushdns

Все, DNS cache успешно очищен:

Мы успешно очистили DNS

Мы успешно очистили DNS
  • Поменяйте используемый браузер. В очень редких случаях ошибка может появляться, когда сервер не в состоянии передать данные в конкретный браузер.

Резюме: самые частые причины появления ошибки

Итак, можно вывести четыре самых распространенных сценария появления Bad Gateway на сайте:

  1. Недостаток вычислительных ресурсов. Может проявляться на очень слабых, старых машинах.
  2. Глобальные изменения на сайте: обновления, установка плагинов, изменение дизайна или структуры ссылок.
  3. Конфликт плагинов. Проблемы после обновления версии CMS.
  4. Cloudflare и подобные сервисы + CDN (сеть доставки содержимого).

Найдите свою причину и устраните ее, следуя нашему алгоритму. 

Опубликовано:

  • DevOps

502 Bad Gateway обычно возникает, когда Nginx работает, как обратный прокси-сервер и не может подключиться к серверным службам. Это может быть связано со сбоем службы, сетевыми ошибками, проблемами конфигурации и т.д. Рассмотрим пять основных причин возникновения этой ошибки и то, как их исправить.

Поддерживать сервер сложно.

Вам приходится иметь дело со всеми обновлениями, исправлениями безопасности и случайными ошибками сервера (они же ошибки из ада).

Одной из таких распространённых ошибок на серверах Nginx является 502 Bad Gateway.

Nginx Ошибка 502 Bad Gateway

Сообщение об ошибке загадочно.

Итак, многие веб-мастера засучивают рукава и смотрят error.log:

2017/04/04 08:34:43 [error] 949#949: *7 connect() failed (111: Connection refused) while connecting to upstream, client: XXX.XXX.XXX.XXX, server: myserver.com, request: "GET /myurl-this/ HTTP/1.0", subrequest: "/redis-fetch", upstream: "redis://127.0.0.1:6379", host: "refserver.com", referrer: "http://referalsite.com/myurl-this/"

Да, ещё больше непонятного…

Вы понимаете, что что-то напутано, потому что он сообщает failed (сбой) и refused (отказ).

Но что это означает?

Вот решение. Мы перечислили пять основных причин возникновения ошибки Nginx 502 Bad Gateway и способы их решения.

Сбой серверной службы

Nginx зависит от серверных служб, таких как PHP-FPM, служб баз данных и серверов кэша для запуска веб-приложений.

Таким образом, если какой-либо из этих сервисов выйдет из строя или зависнет, Nginx не получит никаких данных, что приведёт к ошибке 502 Bad Gateway.

Службы, которые, как мы видели, сбоили — это:

  • PHP-FPM
  • Apache
  • Cache
  • Database

Причины сбоя службы могут варьироваться от всплесков трафика и ограничений ресурсов до ошибок диска и DDoS-атак.

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

Например, вот один из способов убить нефункционирующие процессы PHP-FPM и перезапустить службу.

$ kill -9 $(pgrep php-fpm)
$ /etc/init.d/php-fpm restart
* Restarting PHP FastCGI Process Manager php-fpm [ OK ]

Внимание: Не запускайте эти команды, если не знаете, как они работают.

Если перезапуск службы не сработал, возможно, вам придётся попросить кого-нибудь более внимательно изучить состояние сервера.

Высокая нагрузка на сервер

Вторая наиболее распространённая причина ошибки Nginx 502 Bad Gateway является высокая средняя загрузка серверов.

Всплески нагрузки приводят к тому, что службы не отвечают. Мы видели следующие причины скачков нагрузки:

  • Внезапный всплеск посещаемости сайта (может быть сезонным или маркетинговым/рекламным).
  • Заражение вредоносным программным обеспечением (вирусы/трояны/майнеры/сканеры и т.д.) на сервере.
  • Рассылка спама в комментариях или использование других уязвимостей.
  • Брут форс атаки на веб-приложения.
  • Ошибки приложений, вызывающие утечку памяти или перегрузку ресурсов.

Для устранения проблем с высокой нагрузкой, сначала необходимо выяснить, какой ресурс используется (ввод/вывод, память, процессор или сеть).

Нужно узнать какая служба злоупотребляет этим ресурсом, и с этого момента узнаем, какой пользователь в этой службе владеет вредоносным сценарием или программным обеспечением.

Неправильная конфигурация сервиса

Сервер Nginx и серверные службы зависят от многих подсистем. Таких, как DNS resolver, процессы Apache, службы PHP, сервер базы данных и т.д. Если даже одна из этих служб имеет неправильную конфигурацию, эта служба не сможет ответить, и Nginx покажет ошибку 502 Bad Gateway.

Проблемы с конфигурацией, с которой мы сталкивались:

  • DNS resolver неправильно настроен в Nginx, что приводит к сбою поиска домена.
  • Данные логина БД настроены неправильно после недавней миграции, восстановления или обновления.
  • Синтаксическая ошибка настроек брандмауэра Apache (mod-security), вызывающая сбой Apache.
  • Для приложений PHP установлены неправильные ограничения памяти или файлов.
  • Ограничения пропускной способности (например, количество подключений на IP-адрес) установлены слишком строго, что приводит к сбою легальных посетителей.
  • …и многое другое.

Не существует простого способа обнаружения ошибки конфигурации. Вам нужно просмотреть error.log и обратить внимание на то, что написано об ошибке.

Например, эта ошибка сообщает, что приложение PHP достигло максимально допустимого предела процессов (определяемого параметром pm.max_children).

WARNING: [mysite.com] server reached max_children setting (30), consider raising it
ERROR: unable to read what child say: Bad file descriptor (9)

Если вы не знакомы с PHP или настройками веб-сервера, лучше всего обратиться к администратору сервера.

Порт сервиса заблокирован в брандмауэре

Брандмауэры/файрволлы — основа безопасности сервера. Но если их неправильно настроить, это может привести к блокировке запросов или сбою служб.

Например, на серверах Linux, на которых работает пакет автоматизации Plesk, Nginx работает на 80 порту, а Apache на 7080. Но брандмауэры/файрволлы по умолчанию блокируют необычные порты, и это приведёт к том, что Nginx не сможет подключиться к Apache.

Результат? Ошибка 502 Bad Gateway.

Такие проблемы часто возникают при включении новой службы (например, кэширующий сервис, Ruby, и т.д.) в бэкенде, во время миграции или после обновления сервера.

Чтобы исправить это, мы смотрим, на каком порту работает каждая служба с помощью следующей команды:

$ netstat -lpn
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 19785/nginx
tcp6 0 0 :::80 :::* LISTEN 19785/nginx

И если мы обнаруживаем, что какая-либо служба работает на нестандартных портах, мы либо изменим конфигурацию службы, чтобы изменить её на стандартный порт. Либо отредактируем конфигурацию брандмауэра, чтобы разрешить нестандартный порт.

Ошибки веб-приложений

Редким случаем ошибки 502 Bad Gateway является ошибка приложения.

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

[notice] child pid 27831 exit signal Segmentation fault (11)

Вам нужно будет проверить требования вашего приложения и настроить службы, чтобы они соответствовали требуемым версиям.

Итог

Ошибка 502 Bad Gateway в Nginx обычно возникает, когда Nginx работает как обратный прокси и не может подключиться к серверным службам. Это может быть связано со сбоями службы, сетевыми ошибками, проблемами конфигурации и т.д. Мы рассмотрели пять основных причин этой ошибки и способы её устранения.

На чтение 8 мин Просмотров 3.5к. Опубликовано

Когда при посещении сайта происходят неполадки – это очень расстраивает. Особенно это сбивает с толку, когда вы не знаете, откуда взялись ошибки и как их исправить. И одна из самых популярных ошибок относится к багам при установлении соединения с базой данных или «ошибка 502 неверный шлюз». Не стоит пугаться такой ошибки, если она произошла на вашем сайте, ведь она встречается даже на сайтах с многомиллионными бюджетами. Ну а как справиться с ней на своем сайте мы расскажем ниже.

Содержание

  1. Что значит ошибка «502 Bad Gateway»
  2. Встречающиеся варианты ошибок 502
  3. Как исправить ошибку 502 Bad Gateway
  4. Перезагрузите страницу
  5. Почистите кэш
  6. Проверьте работоспособность сайта
  7. Убедитесь в уверенном подключении к Интернету
  8. Проблемы с DNS
  9. Улучшите условия использования сервера
  10. Проверьте код сайта
  11. Почему возникает ошибка 502 Bad Gateway Nginx
  12. Негативное влияние на SEO

Что значит ошибка «502 Bad Gateway»

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

А сам код состояния ошибки – 502 – согласно международной классификации и Инженерному Совету Интернета (IETF), говорит о том, что сервер (выступая как прокси или шлюз), при попытке связаться с удаленным сервером, получил недопустимый ответ.

Чтобы лучше понимать, что произошло, попробуем объяснить в упрощенном варианте. Когда вы посещаете какой-либо сайт, ваш браузер посылает запрос на сервер (где хранятся файлы запрашиваемого сайта) о просмотре веб-страницы. И если что-то не так с самим сервером, то отправляется ответ с ошибкой из серии «5XX».

И здесь может быть не только ошибка №502, но и 501, или 511, или другой номер из этой серии. Но все они говорят о том, что запрос дошел до удаленного сервера, но что-то помешало его выполнению. А значит пользователь браузера никак не может повлиять на ситуацию – проблема на другой стороне.

Встречающиеся варианты ошибок 502HTTP Error 502 – Bad Gateway

В зависимости от вашего браузера или операционной системы ошибка сервера 502 может отображаться на экране по-разному. Так, например, вы можете встретить такие варианты:

  • «502 Bad Gateway»
  • Пустой белый экран
  • «Error 502»
  • «HTTP 502»
  • «HTTP Error 502 – Bad Gateway»
  • «Служба 502 временно перегружена»
  • Брендированный: «Твиттер перегружен. Повторите попытку позднее»
  • 502 Bad Gateway / nginx 1.14
  • И другие в этом духе.

HTTP Error 502 – Bad Gateway

10.34%

Служба 502 временно перегружена

3.45%

Брендированный: «Твиттер перегружен. Повторите попытку позднее»

0%

502 Bad Gateway / nginx 1.14

31.03%

Проголосовало: 58

Все они означают одно и то же, а как справится с ними мы сейчас расскажем.

Как исправить ошибку 502 Bad Gateway

Как мы уже говорили, ошибка 502 Bad Gateway возникает из-за проблем сервера. Но есть несколько вещей, которые может сделать обычный пользователь, чтобы восстановить корректное отображение сайта.

Перезагрузите страницу

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

Но для перезагрузки лучше использовать не специальный значок в браузере, а сочетание горячих клавиш: Ctrl + F5. Такой тип перезагрузки будет запрашивать все данные о странице, а не будет обращаться к памяти кэшированных данных в браузере.Ctrl + F5

Возможно, отсутствие ответа сервера было всего секундным, и следующая перезагрузка исправит ситуацию.

Почистите кэш

По этой же причине не лишним будет и очистить весь кэш в браузере. Это можно сделать в настройках приложения. Особенно это касается устранения ошибки 502 Bad Gateway на телефонах.

502 Bad Gateway nginx 1.14

Проверьте работоспособность сайта

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

Проверить отклик сайта можно и через специализированные сервисы, например, тут.

Служба 502 временно перегружена

Убедитесь в уверенном подключении к Интернету

Нестабильное подключение к Сети может быть причиной отказа в получении данных с сервера.

Проблемы с DNS

Одним из триггеров, приводящих к ошибке 502 Bad Gateway, может стать то, что DNS-сервер не отвечает.

Часто эта проблема бывает при переносе домена сайта на новый хостинг. Здесь придется только набраться терпения, так как отображение сайта будет зависеть от того как быстро обновиться каталоги IP-адресов. Так, каталоги Google обновляются в течение 24 часов, а иногда и чаще. Региональные каталоги могут обновляться и раз в неделю.

Со своей стороны, пользователь может ускорить этот процесс, прописав DNS-сервера от Google:

Также стоит попробовать очистить локальный кэш DNS. Для этого запустите строку «Выполнить» (WIN+R), введите cmd и нажмите Ок. Затем введите:cmd

ipconfig / flushdns

ipconfig flushdns

и нажмите Enter. Если на экране появилась запись об успешной очистке кэша DNS, то все прошло правильно.

Для владельцев с OS Mac в терминале нужно ввести такую строку: dscacheutil -flushcache

Это все, что может сделать со своей стороны пользователь. Остальное уже зависит от разработчиков сайта и от сервера, на котором он размещен.

Улучшите условия использования сервера

Общие хостинги ограничивают количество направленных запросов на конкретный сайт. Делается это для того, чтобы внезапная активность на одном сайте не повлияла на других пользователей сервера и их веб-ресурсы.

Увеличиваем нагрузку на сервер на хостинге

Увеличиваем лимиты нагрузки на сервер. На примере хостинга beget.com

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

Проверьте код сайта

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

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

Почему возникает ошибка 502 Bad Gateway Nginx

502 Bad Gateway Nginx – эта все та же ошибка ответа сервера. Она лишь указывает на то, что между браузером и сервером есть еще веб-сервер, который и дал ответ. Но по сути это ошибка относится к серверу, а не к посреднику. Веб-сервер используется как посредник не всеми сайтами, а только тогда, когда разработчик хочет снять нагрузку на сервер. Одним из примеров такого веб-сервера будет Nginx, отсюда и уточненное название ошибки.

502 Bad Gateway Nginx

Негативное влияние на SEO

Есть много факторов, которые влияют на позицию сайта в выдаче поисковых систем по ключевым словам. И один из них – корректная работа веб-ресурса. Особенно это стало актуально, когда в мае 2021 года Google запустил Core Web Vitals.

Конечно, если сайт был недоступен для пользователей и поисковых роботов незначительное время, то для SEO такой сбой пройдет незаметно. Однако если сайт был недоступен целый день, или еще хуже – несколько дней, то это значительно испортит рейтинг сайта в глазах поисковой системы.

Как видите, ошибка 502 Bad Gateway относится к серверу, на котором располагаются файлы сайта. Однако иногда есть способы и со стороны пользователя устранить эту проблему. Надеемся мы подробно о них рассказали, а если у вас остались вопросы – задавайте их ниже в комментариях.

https://tehnopub.ru/wp-content/uploads/2021/05/ava-1.jpg

Вячеслав Вяткин

Приветствую тебя мой друг! Давай знакомиться?! Я администратор и автор данного сайта. Специалист с 10 летним опытом работы в сфере ИТ-технологий. Проконсультирую вас по настройке: компьютеров, ноутбуков, периферийного оборудования. Помогу решить проблемы в работе операционной системы Windows или компонентов компьютера. Подскажу как настроить ваши гаджеты.

Задать вопрос

Если вы не смогли найти ответ на свой вопрос! То напишите мне в комментариях. Я постараюсь вам помочь!

Загружая страницу, браузер отправляет кучу запросов другим серверам. Они обрабатывают все запросы, затем возвращают код ответа HTTP с определенным результатом. Если в процессе этого возникнет какой-то сбой, на экране браузера отобразится ошибка. И одна из таких ошибок – 502 Bad Gateway. Я расскажу, что она означает, по каким причинам выходит, а еще опишу способы ее устранения.

Что означает ошибка 502 Bad Gateway

Ошибки, принадлежащие серии 5xx, означают появление проблем на стороне сервера. Если взять конкретно ошибку 502 Bad Gateway, то ее появление будет означать получение неправильного ответа сервера. «Виновниками» в такой ситуации обычно являются прокси, DNS или хостинг-серверы.

Причины возникновения ошибки

Наличие ошибки 502 Bad Gateway может быть связано с несколькими причинами. Рассмотрим наиболее встречаемые: 

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

  • Сетевые проблемы. Ошибка 502 может возникать из-за проблем в сети – возможно, соединение было разорвано или возникли проблемы с маршрутизацией. Рекомендуется перезагрузить роутер, чтобы устранить ошибку. Если проблема сохраняется, то лучше связаться с интернет-провайдером для получения помощи.

  • Проблемы с DNS. Если сервер не может разрешить DNS-имя, например, когда неверно настроены DNS-серверы или отсутствует соответствующая запись, то это может вызвать ошибку. 

  • Хакерская атака. Злоумышленники могут использовать DDoS-атаку на сайт в своих личных целях. Суть атаки в имитации большого наплыва пользователей – чересчур высокий поток может обеспечить возникновение кода 502.

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

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

Чем отличается ошибка 502 Bad Gateway Nginx

Если вы столкнулись с ошибкой 502, то она может идентифицироваться как Bad Gateway Nginx или Bad Gateway Apache. Отличий как таковых нет, разные названия лишь говорят о том, какой именно используется веб-сервер, который применяется для снижения нагрузки на сервер, аутентификации пользователей и многого другого. Именно он информирует о наличии кода 502, поэтому вы можете встретить в описании слова Nginx и Apache. Это наиболее популярные веб-серверы.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Что делать, если вы пользователь

Ошибка 502 Bad Gateway может появиться на любом сайте. Пользователю для начала следует проверить, не является ли причиной проблемы какие-то неполадки с его стороны. Сделать это можно указанными ниже способами.

Перезагрузить страницу

Возможно, на момент загрузки число запросов на сайт превышает определенный лимит, устанавливаемый владельцем сайта. Если это действительно так, тогда простая перезагрузка страницы вполне будет уместна. Я рекомендую обновить страницу как минимум три раза в течение 2-3 минут и только потом приступать к следующим способам.

Проверить подключение к интернету

Стоит проверить работу модема и попробовать загрузить другие страницы. Убедитесь, что подключение к интернету стабильное. Еще вариант – перезапустить маршрутизатор и попробовать снова загрузить проблемный сайт.

Очистить кэш и cookies

Нередко причиной появления данной ошибки могут быть неверно загруженные cookies и кэш. В таких случаях необходимо просто очистить данные в настройках интернет-обозревателя.

Для любого браузера актуально – зайти в историю просмотров и найти ссылку «Очистить историю». В новом окне отметить пункты с кэшем и cookies, затем подтвердить действие. Как только данные будут удалены, надо вновь попробовать загрузить страницу. Не помогло? Идем дальше!

Очистить кэш DNS

Допустимо, что в кэше установлено неправильное значение IP-адреса. Для таких случаев можно использовать сброс DNS кэша. В зависимости от операционной системы кэш DNS очищается по-разному. Давайте рассмотрим ниже, какие нужно выполнять действия под конкретную ОС. 

Windows

Очистка кэша на Windows выполняется через командную строку. Для этого необходимо сделать следующее:

1. Открываем меню Пуск и вводим запрос «Командная строка». В отобразившемся окне запускаем нужный инструмент.

Как открыть командную строку в Windows 10

2. Следующим шагом вводим запрос ipconfig /flushdns и ожидаем окончания работы приложения. Должна появиться надпись «DNS успешно очищен».  

Как очистить DNS-записи в Windows 10

После выполнения этой процедуры попробуйте повторно зайти на сайт – проблема с ошибкой должна решиться. 

Mac

В данном случае нужно будет воспользоваться терминалом: 

1. Используем комбинацию клавиш Command + Space, затем находим и открываем приложение «Терминал».  

Как в MacOS открыть командную строку

2. В отобразившимся окне вводим команду sudo killall -HUP mDNSResponder и ожидаем окончания работы инструмента. 

Linux

Здесь так же, как и на MacOS, нужно воспользоваться встроенным приложением «Терминал» – открываем его с помощью комбинации клавиш «Ctrl+Alt+T» и вводим необходимую команду. Она может отличаться в зависимости от типа операционной системы.

Для Ubuntu:

sudo service network-manager restart

Для других дистрибутивов:

sudo /etc/init.d/nscd restart

Попробовать зайти с другого браузера

Проблема 502 Bad Gateway может быть актуальна и для конкретного браузера. Если у вас на компьютере есть другой интернет-обозреватель, попробуйте открыть сайт через него. 

Отключить плагины и расширения

На загрузку некоторых страниц могут влиять установленные в браузер плагины и расширения. Особенно это касается VPN-сервисов и блокировщиков рекламы. Попробуйте поочередно отключать их и перезапускать страницу. Не исключено, что виновник будет найден.

Зайти на страницу позже

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

Читайте также

Ошибка 400 Bad Request

Что такое ошибка 500 и когда она возникает

Что делать, если вы администратор сайта

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

Проверка журнала ошибок

Актуально в случаях, при которых ошибка 502 Bad Gateway появляется после внесения изменений или обновления. Определить это очень просто, нужно лишь проверить журнал ошибок. В CMS WordPress можно включить запись возникающих ошибок, добавив в файл wp-config.php вот такие строки:

define( 'WP_DEBUG', true );

define( 'WP_DEBUG_LOG', true );

define( 'WP_DEBUG_DISPLAY', false );

После этого все записи начнут отображаться в файле debug.log. Храниться он будет в директории wp-content. Понадобится некоторое время, чтобы причины ошибок были записаны. Потом можно тщательно изучить записи и уже на основе их предпринимать конкретные изменения.

Проверка плагинов

Следует проверить, не влияют ли какие-либо плагины на работу сайта. Для этого можно поочередно отключать их, просто переименовывая папку интересующего плагина. Для этого надо выделить папку, затем нажать на меню «Файл» и в нем выбрать пункт «Переименовать».

Отключение плагина в WordPress путем переименования папки

Проверка сети CDN

Сети CDN и службы предотвращения DoS тоже могут влиять на работу сайта. Обычно виновник проблемы указывается на странице с кодом ошибки. Например, если под кодом 502 Bad Gateway есть строка cloudflare-nginx, значит, для исправления ошибки надо обратиться в службу поддержки CloudFlare. Можно отключить данный сервис, но потом придется долго ждать обновления DNS (это может занять несколько часов).

Один их вариантов отображения ошибки 502 Bad Gateway

Отключение anti-DDos

Отключение защиты от DDoS-атак может быть одной из возможных причин возникновения ошибки 502 Bad Gateway. Обычно анти-DDoS-системы используются для обнаружения и снижения воздействия DDoS-атак, которые направлены на веб-сервер. Однако иногда эти системы могут неправильно работать или применять слишком строгие фильтры, что может привести к блокировке допустимого трафика и, как результат, к ошибке 502.

Если вы столкнулись с подобными проблемами после отключения анти-DDoS-защиты, рекомендуется выполнить следующие действия:

  • Изучите конфигурацию anti-DDoS. Если у вас есть доступ к настройкам анти-DDoS-системы, проверьте их на предмет возможных проблем или ошибок. Убедитесь, что фильтры правильно настроены и не блокируют трафик.

  • Свяжитесь с провайдером услуг анти-DDoS. Расскажите о проблеме, которую вы испытываете, и попросите проверить конфигурацию системы или предоставить рекомендации по ее настройке.

  • Улучшите настройки анти-DDoS-системы. Обратитесь к документации или технической поддержке поставщика системы для получения инструкций по оптимальной конфигурации.

  • Используйте альтернативные методы защиты от DDoS. Если проблемы с anti-DDoS продолжаются, возможно, вам придется искать альтернативные методы защиты от DDoS-атак. Обратитесь к специалистам по безопасности или провайдерам услуг для получения рекомендаций и реализации более надежных мер безопасности.

Увеличение количества ресурсов

Еще одной причиной появления ошибки 502 Bad Gateway может быть увеличение количества ресурсов сервера. Вот с чем можно столкнуться:

  • Неправильная конфигурация. При увеличении количества ресурсов, таких как процессорное время, память или сетевая пропускная способность, необходимо также правильно настроить сервер, чтобы он мог эффективно использовать эти ресурсы. Рекомендуется проверить конфигурацию сервера и приложения, а также убедиться, что они соответствуют увеличенным ресурсам.

  • Недостаточная инфраструктура. Увеличение количества ресурсов может потребовать более мощной инфраструктуры, чтобы обрабатывать дополнительную нагрузку. Если сервер или сетевая инфраструктура не могут эффективно обслуживать увеличенное количество запросов или обрабатывать более высокую нагрузку, это может привести к ошибке 502.

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

  • Проблемы с базой данных. Проверьте настройки и производительность БД, а также убедитесь, что она способна обслуживать увеличенный объем данных и запросов.

Ошибка 502 на виртуальном хостинге VPS/VDS

Ошибка 502 Bad Gateway возникает из-за превышения лимита трафика пользователей, «шалостей» бота, скачивания сайта или даже DoS‑атаки. Решение данной проблемы кроется в ограничениях памяти.

Запустить команду top

Данный запрос в терминале поможет установить наличие свободной памяти. Этим же способом можно проверить, работает ли Apache.

Посмотреть логи Apache и nginx

Обычно в этих логах отображается активность пользователей. Если есть что-то подозрительное, можно предпринять действия. К примеру, забанить определенные IP-адреса, настроить Fail2ban или подключить систему защиты от DoS-атак.

Если после этого количество запросов к серверу снизилось, необходимо перезапустить Apache.

Увеличить объем памяти

Бывает, что с логами все нормально, но памяти на обработку запросов все равно не хватает. Узнать об этом просто – при проверке командой top будет выдана ошибка OOM (out of memory). В таких случаях можно просто увеличить ее объем. Можно просто заказать другой тариф, в котором количество предоставляемой памяти больше. Подробнее об этом.

Проверить лимиты на php-cgi процессы

Если после проверки командой top показано, что свободной памяти еще достаточно, значит, на php-cgi процессы установлены лимиты. Для решения надо открыть конфигурационный файл Apache – httpd.conf, найти секцию модуля FastCGI (mod_fascgi или mod_fastcgid) и увеличить лимит.

Обратиться к службе технической поддержки

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

Влияние 502 на SEO

Ошибка 502 Bad Gateway – это временная проблема, когда сервер, выступая в роли шлюза или прокси, не может получить ответ от сервера, к которому он обращается. Несколько кратковременных ошибок 502 не должны существенно влиять на SEO, так как поисковые роботы обычно понимают, что это временное состояние. Однако частые и продолжительные ошибки могут негативно сказаться на SEO и привести к потере индексации страниц и плохому пользовательскому опыту. Чтобы минимизировать негативное влияние на SEO, рекомендуется проводить регулярный мониторинг веб-ресурса и оперативно решать проблемы, связанные с появлением ошибки 502.

Понравилась статья? Поделить с друзьями:
  • Beget ошибка 403
  • Beget логи ошибок
  • Beamng drive ошибка 0x000002e4
  • Beamng drive 0x00000001 ошибка при запуске игры
  • Beammp ошибка 10060