Ошибка 502 Bad Gateway: когда возникает и как убрать

Ошибка 502 Bad Gateway: когда возникает и как убрать

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

В статье рассказали о том, что такое Bad Gateway 502, рассмотрели причины появления и дали инструкции, как устранить эту ошибку пользователю и администратору сайта.

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

Сообщение об ошибке 502 в браузере

Ошибки HTTP с кодом «5хх: Server Error» возникают из-за сбоя на стороне веб-серверов. Код 502 показывает неполадку в процессе передачи данных между серверами разного уровня. Название «502 Bad Gateway» переводится как «плохой, ошибочный шлюз». Шлюз — промежуточное звено в цепи, обычно это DNS, прокси или хостинг. Когда при обращении к источнику более высокого уровня шлюз не получает корректный ответ, возникает сообщение об обшибке с кодом 502.

В чём отличие ошибок Bad Gateway Nginx и Bad Gateway Apache

Иногда название «502: Bad Gateway» уточняется до Nginx или Apache. Содержание ошибки при этом остаётся тем же. Отличается только тип веб-сервера, обслуживающего процессы. Сервер, который проинформировал пользователя о наличии сбоя, будет указан в названии: Nginx или Apache.

Почему возникает ошибка сервера 502

Теперь ответим на вопрос, почему появляется код 502:

1. Высокая нагрузка на сервер. Вот несколько факторов, которые провоцируют перегрузку.

    • Слишком много посетителей одновременно. Интернет-ресурсы способны пропускать ограниченное число посетителей за единицу времени. Это связано с техническими характеристиками сервера и настройками со стороны администратора ресурса. Планируемое количество людей на сайте должно быть предусмотрено мощностью сервера. Если на ресурс зайдет больше людей, чем было запланировано, сервер может не выдержать. Так возникает перегрузка интернет-магазинов во время проведения сезонных распродаж и популярных акций, таких как «Чёрная пятница».
    • Хакерская DDoS-атака. Недоброжелатели, заинтересованные в сбое работы интернет-ресурса, могут организовать DDoS-атаку. Хакеры искусственно создают мощный всплеск трафика. Если сайт не предусматривает возможность такого потока посетителей, сервер перегрузится и вернёт ответ 502. Хакеры организуют такие атаки, чтобы снизить количество продаж с сайта или навредить репутации бренда-владельца ресурса.
    • Неверные настройки сайта. Обычно владельцы веб-ресурсов заинтересованы в том, чтобы их потенциальные клиенты остались довольны. Поэтому настраивают внутренние процессы в соответствии с поведением посетителей. Если пользователи отправляют много запросов в рамках одного визита, как на крупных маркетплейсах, требуется дополнительная оптимизация, иначе возможна перегрузка в системе. 
    • Действия соорендаторов хостинга. Ресурсы виртуального хостинга делятся между всеми его участниками. Если «соседи» по хостингу начинают потреблять больше, на других арендаторов может не хватить оставшегося объёма мощностей.

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

    3. Проблемы с DNS. Если DNS-серверы настроены некорректно, сервер может быть недоступен или маршрутизация запросов будет неверной. При этом повышается риск возникновения «502: Bad Gateway».

    4. Расширения браузера. Проблема, которая приводит к нарушениям в коммуникации серверов, иногда возникает на стороне пользователя. Установленные расширения браузера — одна из причин. При этом один или несколько плагинов негативно влияют на слаженную работу системы.

    5. Сбои в сети. Ещё одним фактором является наличие неполадок в сетевом соединении.  Нестабильное подключение, разорванное интернет-соединение и проблемы с модемом или маршрутизатором негативно сказываются на загрузке данных.

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

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

    Инструкция для пользователя

    Если вы пользователь интернет-ресурса и столкнулись с ошибкой 502, попробуйте избавиться от неё самостоятельно.

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

    1. Перезагрузите веб-страницу. Возможно, на момент вашего визита на веб-странице был всплеск активности, и сервер был перегружен. Часть пользователей в скором времени уйдет с сайта, и вы получите доступ к информации. В этой ситуации поможет перезагрузка страницы. Для этого нажмите на значок круглой стрелки в меню браузера или воспользуйтесь кнопкой F5 на клавиатуре (сочетание клавиш может быть другим: Fn+F5, CTRL+F5, Command+Option+R). Если с первого раза перезагрузка не помогла, зайдите снова через несколько минут. 

    2. Попробуйте открыть другой сайт. Если перезагрузка страницы вам не помогла, перейдите на любой другой веб-ресурс с того же браузера. Например, можете открыть поисковик, любимый интернет-магазин или социальную сеть. Если другой ресурс открывается без ошибок, сбой произошел не на вашей стороне. Зайдите позже, когда владелец сайта исправит проблему и восстановит доступ.

    3. Используйте режим «Инкогнито» или другой браузер. Некоторые настройки браузеров и расширения ограничивают движение данных между серверами. Режим браузера «Инкогнито» отключает установленные плагины и возвращает базовые настройки, что позволяет оценить их влияние. Для включения приватного просмотра на компьютере с ОС Windows, Linux и Chrome OS нажмите Ctrl+Shift+N или ⌘+Shift+N на компьютерах с Mac OS. В качестве альтернативы используйте другой браузер для проверки. Если эта рекомендация помогла, деактивируйте расширения и плагины вашего браузера, которые являются причиной проблемы. Если сразу определить виновный в ошибке плагин не удалось, выключайте их по очереди и каждый раз проверяйте доступность страницы. Пример такой ситуации — использование прокси или VPN. Эти инструменты становятся посредниками при формировании запроса на вышестоящий сервер и имеют свойство блокировать доступ к отдельным веб-ресурсам. Если у вас включена программа с подобной функцией, отключите её.

    4. Очистите файлы cookies и кеш браузера. Когда пользователь открывает интернет-ресурс, в браузере сохраняются cookie-файлы и кеш. Это нужно для ускорения загрузки веб-страниц при повторном визите. Зачастую сохранение таких файлов помогает сделать опыт пользователя комфортнее. Однако иногда кеш мешает шлюзу получить актуальные сведения из источника. Например, человек заходил на страницу во время временной неполадки в системе. Браузер сохранил историю этого визита. После починки даже работающий ресурс не будет отображаться из-за устаревшей сохранённой версии. Поможет очистка cookie и кеша. Например, если вы используете браузер Google Chrome, сделайте следующие действия.

    • Нажмите на три точки справа в панели управления браузером.
    • Перейдите в раздел «История».
    • Откройте вкладку «Очистить историю».
    • Кликните на чек-боксы «Файлы cookie и другие данные сайтов» и «Изображения и другие файлы, сохранённые в кеше» и удалите данные.
    Очистка кеша и куки

    5. Зайдите на ресурс с другого устройства. Если вы заходите на сайт с компьютера, попробуйте использовать планшет или смартфон. Если собственного второго устройства рядом нет, можно попросить воспользоваться устройством другого человека, который подключен к той же сети Wi-Fi.

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

      • Измерьте скорость соединения. Можно воспользоваться сервисом «Интернетометр» от Яндекса. Оптимальная скорость интернета для просмотра большинства веб-страниц — от 10 Мбит/с.
      • Отключите роутер на несколько минут от электричества и перезапустите его. После перезагрузки вернитесь на нужный сайт.
      • Свяжитесь с интернет-провайдером, если ситуация повторяется на разных веб-ресурсах. 

      7. Очистите кеш DNS. DNS-кеш является еще одной базой данных, в которой хранятся история посещений интернет-ресурсов и их IP-адреса. Эти файлы расположены на компьютере и также помогают ускорить загрузку часто посещаемых страниц. Если в кеше DNS указан устаревший или неверный IP-адрес ресурса, возникнет проблема при загрузке данных и отобразится код 502. После сброса старых записей браузер будет обращаться к ресурсу по актуальному адресу и получит верный ответ.

        Способ очистки кеша DNS зависит от операционной системы устройства. Для удаления кеша потребуется терминал или командная строка. Для своей операционной системы выполните действия, указанные ниже.

        ОС Windows

        • Откройте меню Пуск с помощью иконки или одновременное нажатие клавиш Win+R и введите команду CMD.
        • Во всплывшем окне введите «ipconfig /flushdns» без кавычек и нажмите Enter.
        • Дождитесь уведомления о завершении процесса «Кеш сопоставителя DNS успешно очищен».

        MacOS

        • Запустите строку поиска Spotlight с помощью значка лупы в правом верхнем углу экрана или используйте сочетание клавиш Command+Space.
        • Вызовите «Терминал» с помощью командной строки. Перейдите в программу.
        • Во всплывающем окне наберите запрос «sudo killall -HUP mDNSResponder» без кавычек. Подождите, когда процесс очистки завершится.

        ОС Linux

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

        • Откройте терминал через меню или с помощью комбинации клавиш Ctrl+Alt+T.
        • В открывшемся поле наберите «sudo service network-manager restart» без кавычек и нажмите Enter. Данный вариант подходит для дистрибутива Ubuntu. Если такая команда не сработала, в качестве альтернативы используйте «sudo /etc/init.d/named restart», «sudo system-resolve –flush-caches», «sudo /etc/init.d/dnsmasq restart» или «sudo /etc/init.d/nscd restart».

        Вне зависимости от вашей оперативной системы после выполненных шагов перезапустите браузер и обновите веб-страницу. Проверьте, отображается ли информация на ней.

        Инструкция для администратора сайта

        Рассмотрим, какие варианты решения ошибки есть для владельца ресурса.

        1. Проверьте объём свободной оперативной памяти. Есть два способа проверки.

          • Вызовите командную строку сервера и введите запрос «top». Найдите строку Mem (memory). Mem total отображает общий объём памяти. Mem free показывает свободное место. Если значение низкое, скорее всего, ресурса не хватает. Также, если памяти недостаточно, может отобразиться аббревиатура OOM (out of memory). В этом случае стоит расширить ёмкость оперативной памяти. Для этого выберите другой тариф, в котором доступен больший объём оперативки.
          • Введите команду «free -m» в командную строку сервера. При этом отобразятся те же данные по объёму памяти. Действия будут аналогичными.

          2. Проверьте записи логов. История всех обновлений и изменений на сервере сохраняется в журнале ошибок. Если вы используете CMS WordPress, зайдите в папку wp-content и откройте файл debug.log. В случае, когда файл отсутствует, следует активировать запись логов. После включения записи подождите, пока журнал обновится. По логам определите время, когда возникла ошибка 502, и проанализируйте, какие изменения на сайте могли её спровоцировать. Это позволит выяснить, почему возникла проблема, и исправить ситуацию. С помощью сохранённых записей можно также обнаружить хакерскую DDoS-атаку.

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

              4. Попробуйте перенастроить анти-DDoS. Хостинги предлагают клиентам системы для предотвращения хакерских атак. Такие инструменты обнаруживают возможные DDoS-атаки и блокируют их. При некорректной настройке эти сервисы негативно сказываются на работе веб-ресурса. Слишком жёсткие условия фильтрации могут блокировать реальные запросы пользователей и стать причиной ошибки 502. Отключите анти-DDoS и проверьте, ушла ли проблема. Если действительно причина в этом, измените настройки защиты. Сделайте это самостоятельно или обратитесь к поставщику услуг анти-DDoS.

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

                  Преимущества VPS/VDS от AdminVPS: защита от DDoS
                  Преимущества VPS/VDS от AdminVPS: защита от DDoS

                  Подробнее об аренде VPS/VDS у компании AdminVPS — на странице продукта.

                  Если вы используете виртуальный хостинг или VPS

                  В случае с виртуальным хостингом и VPS зачастую причина проблемы и способ её решения связаны с ёмкостью оперативной памяти. Вот что можно попробовать:

                  1. Используйте команду top. Действуйте по той же инструкции, которая была указана выше. С помощью команды вы не только сможете проверить объём свободной памяти, но и узнаете, работает ли Apache.

                  2. Увеличьте на процессы PHP-CGI. Если в ответ на команду top вы увидели, что свободной оперативной памяти достаточно, стоит проверить ограничение на количество процессов PHP-CGI. Для этого выполните следующие шаги.

                    • Зайдите в файл httpd.conf.
                    • Найдите раздел модуля FastCGI. Она может иметь название mod_fascgi или mod_fastcgid.
                    • Повысьте лимит на количество PHP-CGI.

                    3. Проверьте логи Apache и Nginx. С помощью истории запросов вы сможете проанализировать поведение пользователей и найти причину снижения объёма памяти. К примеру, обнаружить IP-адреса с аномальной активностью. После этого вы сможете предпринять меры, которые помогут решить проблему с оперативкой. Если ваше решение сработало, и аномальных запросов стало меньше, перезагрузите Apache.

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

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

                          Как ошибка сервера 502 влияет на SEO

                          Зачастую код HTTP 502 возникает временно. Даже если на интернет-ресурсе несколько раз возникал сбой, но причина была быстро устранена, поисковые роботы, скорее всего, не станут налагать санкции на него.

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

                          Теперь вы знаете, что такое ошибка 502 и как её исправить.

                          Что будем искать? Например,VPS-сервер

                          Мы в социальных сетях