502 ошибка ddos

Загружая страницу, браузер отправляет кучу запросов другим серверам. Они обрабатывают все запросы, затем возвращают код ответа 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.

Коды ошибок, которые начинаются с цифры 5, говорят о проблемах на стороне сервера. Но это не значит, что советы по их исправлению будут интересны только администраторам выделенных серверов. Узнаем, что нужно делать с пятисотыми ошибками и владельцу VPS, и пользователю виртуального хостинга.

500 Internal Server Error (Внутренняя ошибка сервера)

Серверу не удалось обработать запрос к сайту. Возможных причин для этого может быть много, но сузить их круг можно, восстановив последовательность ваших действий перед сообщением об ошибке. Также изучите само сообщение: комментарий «Internal Server Error» говорит о проблемах с файлом .htaccess, текст «HTTP ERROR 500» — о проблемах со скриптами, а текст «PHP Parse error: syntax error, unexpected» или «Internal Server Error nginx» — о неполадках в CMS.

Ошибка 500

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

2. Посмотрите файл .htaccess на предмет ошибок в командах. Закомментируйте директиву Options, поставив перед ней решётку: если после этого ошибка 500 перестанет появляться, значит, есть нарушения в синтаксисе и в описании команд.

3. Убедитесь, что права доступа к файлам, папкам и скриптам выставлены верно. Для папок рекомендуется значение 755, для скриптов — 600, а для других файлов — 644. При других вариантах прав доступ к сайту может блокироваться в целях безопасности.

4. Проверьте, всё ли в порядке со скриптами. Возможно, какой-то из скриптов слишком медленный или время ожидания ответа от сервера слишком мало. Если при просмотре лог-файлов выяснится, что какой-то из скриптов незапланированно требует слишком много памяти, оптимизируйте его или удалите. А если обнаружится, что какой-то из скриптов вовсе не запускается, убедитесь, что функция прописана верно, поддерживается сервером и соответствует используемой версии PHP.

5. Отдельно обратите внимание на CGI-скрипты: вероятно, строки в них имеют не те окончания, что исправляется загрузкой скриптов через FTP в режиме ASCII. Также некорректная работа CGI-скриптов может быть причиной ошибок в HTTP-заголовках, что тоже приводит к ошибке 500. Либо же имеются ошибочные директивы, предназначенные для работы со скриптами.

502 Bad Gateway (Ошибочный шлюз)

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

Ошибка 502

1. Перезагрузите страницу. Зайдите на любой другой сайт, которой точно должен работать в данный момент. Это поможет узнать, есть ли у вас доступ к интернету в принципе. Если доступ есть, очистите файлы cookies в браузере, а затем посетите сайт снова.

2. Убедитесь, что на ваш сайт не совершается DDoS-атака. В противном случае обратитесь к хостинг-провайдеру.

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

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

5. Посмотрите настройки сервера. Возможными поводами для появления ошибки 502 могут быть:
• неполадки после установки обновлений;
• превышение лимитов на число обращений к внешним ресурсам и на время ответа сервера;
• некорректные лимиты в файлах конфигурации ini;
• превышение лимита на число php-cgi-процессов;
• недостаточная оптимизация скриптов;
• недостаточная оптимизация запросов;
• неправильная работа модулей (если ошибка возникает при обращении к скриптам конкретного расширения).

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

503 Service Unavailable (Сервис недоступен)

Сервер не работает из-за перегрузок. Либо же происходит плановая перезагрузка или отключение сервера: в этом случае вместе с сообщением об ошибке после слов «Retry-After» должно отображаться время, когда сервер вернётся в работу. Если же ошибка 503 появляется часто и не по причине плановых работ, то это говорит о неполадках, которые следует устранить.

Ошибка 503

1. Сначала просто подождите. Возможно, причина в длинной очереди запросов к серверу, что не требует вмешательства.

2. Как и в случае с ошибкой 502, удостоверьтесь, что на сайт не производится DDoS-атака.

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

4. Проверьте, не слишком ли активно посещают ваш сайт поисковые роботы. Если это имеет место быть, ограничьте их активность.

5. Удалите тяжёлые или вовсе ненужные плагины и компоненты.

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

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

8. Оптимизируйте почтовую рассылку: распределяйте отправку писем по времени, запускайте рассылку в часы наименьшей нагрузки.

9. Оптимизируйте SQL-запросы, выявите самые медленные из них с помощью лог-файлов.

504 Gateway Timeout (Шлюз не отвечает)

Один из серверов не дождался ответа от вышестоящего сервера, о чём сообщает кодом 504.

Ошибка 504

1. Перезагрузите страницу, убедитесь в стабильности работы сетевых устройств.

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

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

4. Если возможно, увеличьте время ожидания при использовании nginx как прокси-сервера для Apache. Для этого добавьте эти строки в блоке server в файле nginx.conf:

proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;

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

Также посмотрите ответы на вопросы из нашего раздела FAQ:

  • Отчего возникает ошибка 500?
  • Отчего возникает ошибка 503?
  • Как изменить страницы ошибок 403, 404 и 500?

Кстати, недавно мы в целом рассказали о кодах состояния сервера, к которым относятся в том числе и коды ошибок.

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

  • 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 работает как обратный прокси и не может подключиться к серверным службам. Это может быть связано со сбоями службы, сетевыми ошибками, проблемами конфигурации и т.д. Мы рассмотрели пять основных причин этой ошибки и способы её устранения.

Error 502

Issue: when trying to access protected website Error 502 occurs.

Solution: This error is often caused by incorrectly configured filtering rules for inbound connections. To resolve the situation, use the email that was sent to the specified mail box shortly after you paid for the service. Send the email’s contents to the support service of your hosting service provider. If these steps won’t have any positive effect, please contact our technical support.

FTP and Email are not working after enabling the protection

Issue: FTP and Email are not working after enabling the protection.

Solution: this problems occurs due to the fact that «Website protection and optimization» service uses reverse proxy technology to scrub customer’s traffic, hence request sent to ports other than 80 and 443 are not processed (for example FTP protocol uses ports 20 and 21). 

To resolve this problem, don’t use a protected IP address (an IP address given by DDoS-GUARD) for subdomains related to mailing and data transfer. Use another IP for that purpose, which is also distinct from the original IP of your web server. On one hand it will make your FTP and email directly accessible and working properly and on the other hand your original web server’s IP won’t be revealed (having your original IP cybercriminals can conduct an attack on it directly, bypassing the DDoS-Guard protection). 

Appropriate A-records look as follows:

Domain

IP

DDoS-Guard proxy server address

example.com  186.1.145.2 Yes
ftp.example.com 5.168.53.104 No
mail.example.com 5.168.53.103 No

Was this article helpful?

Understand the HTTP 502 Bad Gateway error: What are the causes and how to fix them.

Table of Contents

  • What is the 502 Bad Gateway error?
    • Different 502 error messages
  • 502 Bad Gateway causes
  • How to fix the 502 Bad gateway error code
    • 1 Verify your server is up and running
    • 2 Verify your server is reachable
      • Verify your server bypassing your proxy service
      • Verify your server by disabling the proxy service
      • Verify your server is reachable around the World
    • 3 Verify your server load
    • 4 Verify the resource limits of your hosting
    • 5 Check the CDN or proxy service status
    • 6 Inspect your server firewall
    • 7 Inspect the DNS
    • 8 Check your Database
    • 9 Check your WordPress or application
  • All HTTP Status Codes

What is the 502 Bad Gateway error?

The HTTP 502 Bad Gateway response status code indicates that your server is behind a proxy (e.g. a CDN, a Load Balancer, a Firewall, …), and it is not visible. For instance, your CDN or Firewall can’t reach your web server and your content can’t be served to the user.

502 bad gateway - Cloudflare 502 bad gateway error, Cloudflare 502 is not a major error but needs to be fixed asap

502 Bad gateway error screen from Cloudflare

Different 502 error messages

  • “Error 502 Bad gateway”
  • “Proxy Error. The proxy server received an invalid response from an upstream server.”
  • “502 Bad Gateway Nginx”
  • “HTTP 502”
  • “502 Service Temporarily Overloaded”
  • “502 Server Error: The server encountered a temporary error and could not complete your request”
  • “502. That’s an error. The server encountered a temporary error and could not complete your request”
  • “Temporary Error (502)”

502 Bad Gateway from Google services - 502 That’s an error The server encountered a temporary error and could not complete your request

502 Bad Gateway when the website or service is behind google proxies.

The following sections show you the causes, and how to fix the error:

502 Bad Gateway causes

The 502 error means that the proxy service acting as Gateway has a problem getting the content from your server. This proxy service you have in front of your site server can be a CDN, a Load Balancer, a Firewall, etc.

Here you have a list of all the different causes:

  • There is a network problem between your server and your proxy service.
  • Your server is blocking access to the proxy service.
  • Your server is down.
  • Your server is up but can’t handle more connections.
  • Some server requests return an error.
  • There is an invalid or incorrect DNS zone.

How to fix the 502 Bad gateway error code

You can follow the next steps to find the cause and fix the 502 error:

1 Verify your server is up and running

This is the first step you have to verify. Login to your server console or panel and verify that all web services are running.

2 Verify your server is reachable

Temporarily disable the proxy service or skip it forcing your domain DNS zones. We describe below the two methods:

Verify your server bypassing your proxy service

You can bypass the proxy service by pointing your domain name directly to the IP of your server.

You can force the DNS zones, modifying the host file of your computer.

You have tools to help you like:
SwitchHosts for Mac OSX or
HostsFileEditor for Windows.

Verify your server by disabling the proxy service

As an alternative to verify if your server is reachable, you can temporarily disable your proxy service.

If you are using Cloudflare, you can easily disable it from the admin panel. Log in and in the right sidebar, find Quick Actions and enable “Development Mode”:

Enabling Development Mode in Cloudflare is one of the things to do when fixing Cloudflare 502.

Enable the Development Mode in Cloudflare to disable the proxy and serve pages directly from your server.

Verify your server is reachable around the World

If you can temporarily disable the proxy service, the next recommended checkpoint is to verify if this server is reachable across different networks.

We recommend you the Uptrends Website Uptime Test online tool:

Uptrends Website Uptime Test result makes the hard work to tell if your server is the source for your 502 Bad Gateway error.

Verify your site is ok from different network points.

This Uptrends tool checks your site from different country nodes. If some check fails, this will help you identify potential network problems.

3 Verify your server load

If your web server reaches its limit, it can’t answer any more requests, and the gateway delivers the status code 502 Bad Gateway. The reason could be an unexpectedly high interest in the site or even a DDoS attack. This means that an attacker is using a bot network to help overload the server capacity and provoke a system failure.

Your proxy service, CDN, or Load Balancer may be ready to handle high volumes of traffic, but that doesn’t mean your web server is. With WordPress websites, it is extremely easy to overload the server, since there are many pages with high processing time and that we cannot serve from cache.

The best solution in case of non-legit traffic is to be protected by a CDN or Firewall service capable of filtering traffic, and ready to deal with DoS and DDoS attacks.

At Wetopi, as WordPress specialists, we know how important it is to add strong measures of security.
We apply three techniques to filter traffic:

Shared security heuristic learning,
Blacklisting from external sources and
Mitigation of DDoS attacks.

If your traffic is legit, the solutions are obvious:

  • Add cache to your site.
  • If a cache system is not enough, then add more resources to your server.
  • If you cannot financially face the increase in resources, the final option is to lighten your website. If you work with WordPress, reduce the number of plugins to the essential minimum.

4 Verify the resource limits of your hosting

If your website is in a shared hosting, check that you’re not overstepping resource limits.

The establishment of limits is not something that you can find among the functionalities of a “shared hosting”. But keep in mind that to preserve coexistence between all the sites on a shared server, it is very common for the provider to set limits on processing time, on the number of “php workers” and on traffic.

One reason you might want to consider moving to a Hosting like Wetopi is that each WordPress installation runs on an isolated host that contains all of the software resources required to run the site (Linux, Nginx, Php-fpm, MySQL). This means that the software that runs each site is 100% private and is not shared, even between your own WordPress sites.

5 Check the CDN or proxy service status

This networking access problem could be a problem with your proxy service. Check the status service page of your proxy service.

This is a list of “Status Pages” of main providers of Load Balancing, CDN, and Security services:

  • Cloudflare status page
  • Sucuri status
  • KeyCDN status
  • StackPath status
  • Google cloud services status
  • Amazon Cloudfront status

6 Inspect your server firewall

If your web server has a local firewall: “iptables”, “Uncomplicated Firewall – UFU”, “CSF Firewall”, “Fail2ban”, “FireHOL”, … Then it could be this firewall that is blocking the access to your proxy service.

Inspect the firewall.

Server firewall is the root cause for the 502 Bad Gateway error, depicted iptables blocking different IP addresses.

In this example, iptables is blocking traffic from different IP addresses.

The best solution, in this case, is to add your proxy service IP addresses to the whitelist system of your firewall.

For instance, at Wetopi, we use and recommend Cloudflare as a CDN and security reverse proxy. To prevent “502 Bad Gateway” error problems, our server firewalls have the public list of Cloudflare’s IP addresses in the whitelist’s system.

7 Inspect the DNS

If you are in the process of publishing your domain or modifying it, the problem could be in the DNS

To fix the 502 error due to a DNS problem follow this checklist:

  • If you have just migrated your site to a new host, is it important to wait for DNS zones to fully propagate, which can take up to 24 hours in some cases. This depends on the TTL value of your DNS records.
  • The domain name is not resolving to the correct IP or it does not resolve to any IP. Verify your DNS zone definition according to the instructions provided by your proxy service: CDN, Load Balancer, Security Service, …

8 Check your Database

If you made it this far and none of the above methods work, chances are that the error is caused by an error in your web, or application in a specific page or URL request.

First, you have to check the database health:

  • look for errors in log files
  • repair and/or optimize tables and indexes.

Own website or application might be the cause for the http error 502; Repair database tables from phpMyAdmin panel if all previous steps are cleared

This picture shows you how to repair your MariaDB/MySQL database tables from the phpMyAdmin panel.

9 Check your WordPress or application

If your database is ok, the final solution to fix the 502 error on a specific web page or URL is to debug your site.

If your site is running with WordPress, try this: disable all your plugins, if the problem disappears, then your 502 error is caused by a WordPress Plugin.

Do not break your production site!
Staging environments are the solution!

Clone to a staging environment to test and fix any HTTP error code.
To clone a WordPress site with Wetopi is as easy as a simple click.

To find the plugin causing the problem, we recommend following this process:

  1. Disable all your plugins.
  2. Check the page that gives you the HTTP Error.
  3. If the page Works, then enable one plugin from the disabled list and jump to the previous step 2.
  4. If the page Fails, then this last enabled plugin could be the one causing the HTTP Error.

We are techies passionate about WordPress. With wetopi, a Managed WordPress Hosting, we want to minimize the friction that every professional faces when working and hosting WordPress projects.

Not a wetopi user?

Free full performance servers for your development and test.
No credit card required.

All HTTP Status Codes

200 OK

201 Created

202 Accepted

203 Non-Authoritative Information

204 No Content

205 Reset Content

206 Partial Content

207 Multi-Status

208 Already Reported

226 IM Used

300 Multiple Choices

301 Moved Permanently

302 Found

303 See Other

304 Not Modified

305 Use Proxy

307 Temporary Redirect

308 Permanent Redirect

400 Bad Request

401 Unauthorized

402 Payment Required

403 Forbidden

404 Not Found

405 Method Not Allowed

406 Not Acceptable

407 Proxy Authentication Required

408 Request Timeout

409 Conflict

410 Gone

411 Length Required

412 Precondition Failed

413 Payload Too Large

414 Request-URI Too Long

415 Unsupported Media Type

416 Requested Range Not Satisfiable

417 Expectation Failed

418 I’m A Teapot

421 Misdirected Request

422 Unprocessable Entity

423 Locked

424 Failed Dependency

426 Upgrade Required

428 Precondition Required

429 Too Many Requests

431 Request Header Fields Too Large

444 Connection Closed Without Response

451 Unavailable For Legal Reasons

499 Client Closed Request

Понравилась статья? Поделить с друзьями:

Интересное по теме:

  • 502 ошибка bitrixvm
  • 503 ошибка bitrix
  • 502 неисправный шлюз это ошибка
  • 501f1 ошибка опель астра h расшифровка
  • 503 ошибка beget

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии