Загружая страницу, браузер отправляет кучу запросов другим серверам. Они обрабатывают все запросы, затем возвращают код ответа HTTP с определенным результатом. Если в процессе этого возникнет какой-то сбой, на экране браузера отобразится ошибка. И одна из таких ошибок – 502 Bad Gateway. Я расскажу, что она означает, по каким причинам выходит, а еще опишу способы ее устранения.
Что означает ошибка 502 Bad Gateway
Ошибки, принадлежащие серии 5xx, означают появление проблем на стороне сервера. Если взять конкретно ошибку 502 Bad Gateway, то ее появление будет означать получение неправильного ответа сервера. «Виновниками» в такой ситуации обычно являются прокси, DNS или хостинг-серверы.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Что делать, если вы пользователь
Ошибка 502 Bad Gateway может появиться на любом сайте. Пользователю для начала следует проверить, не является ли причиной проблемы какие-то неполадки с его стороны. Сделать это можно указанными ниже способами.
Перезагрузить страницу
Возможно, на момент загрузки число запросов на сайт превышает определенный лимит, устанавливаемый владельцем сайта. Если это действительно так, тогда простая перезагрузка страницы вполне будет уместна. Я рекомендую обновить страницу как минимум три раза в течение 2-3 минут и только потом приступать к следующим способам.
Проверить подключение к интернету
Стоит проверить работу модема и попробовать загрузить другие страницы. Убедитесь, что подключение к интернету стабильное. Еще вариант – перезапустить маршрутизатор и попробовать снова загрузить проблемный сайт.
Очистить кэш и cookies
Нередко причиной появления данной ошибки могут быть неверно загруженные cookies и кэш. В таких случаях необходимо просто очистить данные в настройках интернет-обозревателя.
Для любого браузера актуально – зайти в историю просмотров и найти ссылку «Очистить историю». В новом окне отметить пункты с кэшем и cookies, затем подтвердить действие. Как только данные будут удалены, надо вновь попробовать загрузить страницу. Не помогло? Идем дальше!
Очистить кэш DNS
Допустимо, что в кэше установлено неправильное значение IP-адреса. Для таких случаев можно использовать сброс DNS кэша. В ОС Windows необходимо открыть инструмент «Командная строка» (вводим в поисковую строку название программы и выбираем запуск от имени администратора).
Далее следует ввести вот такую команду и активировать ее нажатием на клавишу Enter:
ipconfig /flushdns
Нужно подождать некоторое время, пока операция не завершится. Как только действие будет завершено, на экране выйдет подтверждение, что кэш был очищен.
Для Linux действие примерно схоже, но команда выглядит иначе. Открываю утилиту «Терминал» и ввожу в поле вот такой запрос:
Для Ubuntu:
sudo service network-manager restart
Для других дистрибутивов:
sudo /etc/init.d/nscd restart
Попробовать зайти с другого браузера
Проблема 502 Bad Gateway может быть актуальна и для конкретного браузера. Если у вас на компьютере есть другой интернет-обозреватель, попробуйте открыть сайт через него.
Отключить плагины и расширения
На загрузку некоторых страниц могут влиять установленные в браузер плагины и расширения. Особенно это касается VPN-сервисов и блокировщиков рекламы. Попробуйте поочередно отключать их и перезапускать страницу. Не исключено, что виновник будет найден.
Зайти на страницу позже
Когда ничего из вышеперечисленного не помогло, значит, проблема все же кроется на стороне сервера. Вам остается только подождать некоторое время, пока разработчики не устранят ошибку на сайте. Вы также можете написать владельцу и сообщить о проблеме.
Читайте также
Что делать, если вы администратор сайта
Обычно такие проблемы самостоятельно решать не рекомендуется. Лучше сразу же обратиться в службу технической поддержки и описать проблему. Но есть пара действий, которые все же могут помочь определить источник проблемы.
Проверка журнала ошибок
Актуально в случаях, при которых ошибка 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. Понадобится некоторое время, чтобы причины ошибок были записаны. Потом можно тщательно изучить записи и уже на основе их предпринимать конкретные изменения.
Проверка плагинов
Следует проверить, не влияют ли какие-либо плагины на работу сайта. Для этого можно поочередно отключать их, просто переименовывая папку интересующего плагина. Для этого надо выделить папку, затем нажать на меню «Файл» и в нем выбрать пункт «Переименовать».
Проверка сети CDN
Сети CDN и службы предотвращения DoS тоже могут влиять на работу сайта. Обычно виновник проблемы указывается на странице с кодом ошибки. Например, если под кодом 502 Bad Gateway есть строка cloudflare-nginx, значит, для исправления ошибки надо обратиться в службу поддержки CloudFlare. Можно отключить данный сервис, но потом придется долго ждать обновления DNS (это может занять несколько часов).
Ошибка 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
Ошибка 502 Bad Gateway указывает, что сервер, с которым пытался соединиться ваш компьютер или смартфон, получил неверный ответ сервера уровнем выше. Чаще всего это происходит из‑за проблем в работе DNS, прокси или хостинга.
Как пользователю исправить ошибку 502
Идите от простого к сложному — и в какой‑то момент ошибка, возможно, исчезнет.
Проверьте подключение к интернету
Попробуйте зайти на другие страницы или посмотреть, приходят ли сообщения в мессенджерах. Если ничего не доступно, значит, дело не в настройках сайта, а в вашем интернет‑подключении.
Посмотрите, у всех ли отображается ошибка 502
Зайдите на сайт с другого компьютера или смартфона. Если ошибка там не отображается, значит, дело именно в настройках вашего устройства — читайте дальше, как это исправить.
Если другого гаджета под рукой нет, можно воспользоваться онлайн‑сервисами. Они покажут, доступен ли сайт у других пользователей:
- Down for Everyone or Just Me;
- Is It Down Right Now;
- Reg.ru;
- 2IP.
Обновите страницу
Иногда разработчики устанавливают определённый лимит на число запросов к сайту за конкретный промежуток времени — минуту или секунду. Если вы пытаетесь зайти на популярную страницу и видите ошибку 502, то, возможно, слишком много пользователей делают то же самое.
Если причина ошибки заключается именно в этом, поможет простое обновление страницы. Можно нажать на кнопку с круглой стрелкой в браузере или F5 на клавиатуре.
Попробуйте другой браузер
Если видите ошибку 502 только на одном устройстве, возможно, дело в настройках конкретной программы. Откройте сайт в другом браузере: порой это решает проблему.
Отключите плагины и расширения в браузере
Нередко браузерные плагины и расширения, особенно для работы с прокси- и VPN‑сервисами, блокируют доступ к отдельным сайтам, и возникает ошибка 502. Попробуйте отключить их и снова зайти на страницу. Если у вас запущены приложения для прокси или VPN, закройте и их.
Очистите кеш браузера
Возможно, в кеше вашего браузера содержатся неверные данные, из‑за них при попытке открыть сайт возникает ошибка 502. Если очистить кеш, проблема может решиться.
Вот как это сделать в Chrome.
- В настройках перейдите к разделу «Конфиденциальность и безопасность» и выберите пункт «Очистить историю».
- Поставьте галочки напротив второго и третьего пунктов: «Файлы cookie и другие данные сайтов», «Изображения и другие файлы, сохранённые в кеше».
- Затем нажмите «Удалить данные».
Инструкции для остальных браузеров ищите здесь.
Очистите кеш DNS
В Windows 10
- Чтобы вызвать консоль, напишите cmd в окне поиска меню «Пуск».
- В открывшемся окне введите команду ipconfig /flushdns и нажмите Enter.
В Windows 7
- В консоли введите команду ipconfig /flushdns и нажмите Enter.
- Затем там же выполните команды net stop dnscache и net start dnscache, чтобы перезапустить службу DNS‑клиента.
В macOS
- Нажмите на иконку поиска в правом верхнем углу и напишите «Терминал».
- В открывшемся окне терминала введите команду sudo killall -HUP mDNSResponder; sleep 2;.
В Linux
- Запустите терминал сочетанием клавиш Ctrl + Alt + T или из основного меню.
- В открывшемся окне введите команду sudo service network‑manager restart и нажмите Enter. Это точно работает на Ubuntu и иногда на других дистрибутивах. Альтернатива — команды sudo systemd‑resolve —flush‑caches или sudo /etc/init.d/nscd restart.
Возможно, в определённых дистрибутивах потребуется запуск других команд и служб.
Перезагрузите роутер
Зайдите в консоль управления маршрутизатором и найдите соответствующий пункт. Или отключите питание устройства на 10–15 секунд, а затем снова подключите его к электросети.
Измените DNS‑сервер по умолчанию
В настройках роутера укажите адреса публичных DNS‑серверов. Например, можно вписать IPv4 для Google Public DNS: 8.8.8.8 или 8.8.4.4. Или, если ваш сервер поддерживает IPv6, задайте адреса 2001:4860:4860::8888 и/или 2001:4860:4860::8844.
Зайдите позднее
Возможно, с вашей стороны ничего нельзя сделать — особенно если ошибка 502 появляется не только у вас. В такой ситуации единственный выход — попробовать зайти на сайт позже.
Сообщите администратору
Если у вас есть контакты администратора сайта, расскажите ему об ошибке 502. Возможно, он ещё не в курсе проблемы и, соответственно, пока не решает её.
Как администратору исправить ошибку 502
Если ошибка 502 появляется при загрузке вашего сайта, попробуйте выполнить эти действия одно за другим, пока проблема не исчезнет.
Проверьте журнал ошибок
В логах можно найти много полезной и интересной информации. Определите момент, когда впервые появилось сообщение об ошибке 502, и проанализируйте события, которые этому предшествовали. Часто это помогает понять, что произошло и как это исправить.
Отключите или удалите свежие плагины и компоненты
Иногда установка новых компонентов и плагинов на сайт приводит к конфликтам. В результате ресурс не работает, как нужно, а пользователи видят ошибку 502 у себя в браузерах.
Если вы недавно обновляли сайт, попробуйте удалить свежеустановленные компоненты. Действуйте пошагово и после каждого изменения проверяйте, не исчезла ли ошибка.
Попробуйте отключить анти‑DDoS
Часто хостинги предлагают готовые инструменты, которые предупреждают DDoS‑атаки на сайт. Такие решения перенаправляют трафик от посетителей на специальные серверы. Там DDoS‑запросы отделяются от реальных, трафик очищается, оптимизируется и передаётся вашему ресурсу.
Но если в этой цепочке что‑то идёт не так, возникает ошибка 502. Попробуйте временно отключить анти‑DDoS — иногда после этого проблема исчезает.
Увеличьте количество ресурсов
Причиной ошибки 502 может быть нехватка мощностей хостинга, на котором размещается ваш сайт. Особенно это характерно для виртуальных серверов.
Если при работе сайта вы выходите за рамки ограничений тарифного плана, хостинг разрывает соединение. Обычно информацию об этом можно найти в логах. В таком случае нужно арендовать сервер с большим количеством процессоров и оперативной памяти.
Попросите помощи
Поищите решение проблемы в FAQ вашего хостера или на Stack Overflow. Высока вероятность, что вы не первый, кто столкнулся с такой ситуацией, и готовый рецепт уже описан в деталях.
Если же советы из интернета не работают, создайте свою тему на форуме или попросите помощи у более опытных коллег. Возможно, они подскажут что‑то дельное.
Если и это не помогло, возможно, стоит обратиться за консультацией к специалисту — сотруднику вашего хостинга или эксперту по движку вашего сайта. Они проанализируют проблему комплексно, найдут её причину и избавят от ошибки 502.
Читайте также 💿⚙️💻
- Что делать, если тормозит браузер
- Как исправить ошибку CPU Fan Error при загрузке компьютера
- Что делать, если DNS-сервер не отвечает
- Что такое ошибка 500 и как её исправить
- Что означает 404 Not Found и другие ошибки веб-страниц
Ошибка 502 при открытии сайта может появиться неожиданно. В этой статье мы расскажем, что значит код ошибки 502 и что может сделать пользователь и владелец сайта, чтобы её исправить.
Ошибка 502 Bad Gateway: что значит
Файлы любого сайта находятся на физическом сервере. Чтобы их получить и отобразить веб-ресурс на компьютере, браузер делает запрос на сервер. Если он по какой-либо причине не передал файлы, появляется ошибка 500-511.
Ошибка 502 Bad Gateway возникает при неправильной работе прокси-сервера, DNS-сервера и чаще всего сервера, на котором размещён сайт. Проблема может распространяться как на весь ресурс, так и на отдельные страницы. Это зависит от характера проблемы. Существуют разновидности 502 ошибки: Bad Gateway Nginx, Bad Gateway Apache. Об их отличиях мы расскажем ниже. Также эта ошибка может иметь формулировки:
- Bad Gateway: Registered endpoint failed to handle the request, Temporary Error (502),
- Error 502,
- Bad 502 Gateway,
- 502 Error,
- 502. That’s an error,
- 502 Service Temporarily Overloaded,
- 502 Server Error: The server encountered a temporary error and could not complete your request,
- 502 – Web server received an invalid response while acting as a gateway or proxy server,
- 502 Bad Gateway Nginx,
- 502 Proxy Error,
- HTTP 502,
- HTTP Error 502 Bad Gateway.
Что значит плохой шлюз: ошибка 502
Причины возникновения ошибки 502 Bad Gateway
-
Первая и основная причина ― перегрузка сервера. Перегрузка может быть вызвана несколькими проблемами:
- Большое количество посетителей одновременно. Веб-ресурс может посещать ограниченное количество посетителей. Сколько человек может посетить сайт зависит от возможностей сервера (размера оперативной памяти) и настроек, которые сделал создатель ресурса. Если по какой-либо причине на сайт зайдёт больше пользователей, чем запланировано, сервис может не справиться и страница выдаст код 502. Такое случается при рекламных акциях и распродажах в интернет-магазинах.
- Атака хакеров или DDoS-атака. Эта проблема связана с предыдущей причиной перегрузки. Хакер имитирует большой наплыв пользователей, из-за чего сервер выходит из строя. Такие атаки могут быть использованы для снижения продаж.
- Плохая оптимизация сайта. Настройки ресурса сделаны так, что маленькое количество посетителей генерирует много запросов. В этом случае нужно оптимизировать работу сервера с пользовательскими запросами.
- Второй причиной возникновения кода 502 могут явиться ошибки РНР. Если для расширения функционала сайта в панель управления были добавлены некорректно настроенные плагины, они могут выдавать проблемы в своей работе. Вместе с ними ошибку покажет и сайт целиком. Также если код сайта написан неправильно, запросы могут давать отрицательный результат.
- Ошибка браузера. Проблема может быть на стороне пользователя, если у него установлены расширения, которые нарушают соединение с сервером сайта.
Чем отличается ошибка 502 Bad Gateway Nginx
Между браузером и сервером может стоять веб-сервер. Он используется для снижения нагрузки на сервер, аутентификации пользователей и многого другого. Самые популярные программы для создания веб-сервера ― Nginx и Apache. Так как веб-сервер является посредником между браузером и сервером, то именно он будет оповещать пользователя о проблеме. Поэтому в зависимости от веб-сервера в сообщении вы можете увидеть надпись Bad Gateway Nginx или Bad Gateway Apache. При этом причины возникновения проблемы одинаковы.
Как исправить ошибку 502
Что делать, если вы пользователь
- Перезагрузите страницу, если проблема была вызвана наплывом посетителей. Возможно, через некоторое время посетители уйдут со страницы и вы сможете увидеть контент.
- Попробуйте зайти на другой веб-ресурс. Если вы можете зайти на другой сайт, значит проблема на стороне владельца ресурса и вы ничего не можете сделать. Вернитесь на страницу позже, когда администратор восстановит доступ.
- Проверьте подключение к интернету. Из-за низкой скорости или нестабильности соединения браузер может не получать данные с сервера.
- Запустите браузер в режиме «Инкогнито». В режиме «Инкогнито» браузер работает с базовыми настройками. Если вам удалось зайти на веб-ресурс в этом режиме, значит одно из ваших расширений браузера мешает соединению. Это расширение нужно отключить.
- Почистите файлы cookies. Если при повторном входе на сайт всё равно отображается ошибка 502, очистите кэш браузера. Возможно, доступ уже восстановлен, но ваш браузер обращается к старой версии страницы из кэша.
- Очистите кэш DNS. DNS-кэш — это временная база данных вашего компьютера, которая хранит записи обо всех последних посещениях и попытках посещений веб-сайтов и их IP-адресах. Кэш позволяет ускорить вход на часто посещаемые веб-ресурсы. Если у сайта изменились DNS, а данные из кэша отправляют на старый IP-адрес, в браузере появится код 502. После очистки браузер начнёт обращаться к новому IP-адресу.
Как очистить кэш DNS
В зависимости от вашей операционной системы очистите кэш по одной из инструкций.
- Откройте командную строку. Для этого введите в поисковую строку «Командная строка» и выберите появившееся приложение:
- Введите команду:
ipconfig /flushdns
- Дождитесь сообщения об очистке кэша:
- Откройте терминал клавишами Ctrl+Alt+T.
- Введите команду:
Для Ubuntu:
sudo service network-manager restart
Для других дистрибутивов:
sudo /etc/init.d/nscd restart
- Войдите в терминал. Для этого нажмите клавиши Command + Space. Введите Терминал и нажмите на найденное приложение.
- Введите команду:
sudo killall -HUP mDNSResponder
Готово, вы очистили кеш DNS. Попробуйте заново зайти на сайт.
Что делать, если вы владелец сайта
Проверьте количество свободной памяти. Это можно сделать двумя способами.
Способ 1 ― введите команду top
в командной строке сервера:
Mem ― вся оперативная память.
Swap ― раздел подкачки.
Посмотрите на строку Mem ― free. Это количество свободного места на сервере. Если там указано маленькое число, ошибка 502 Bad Gateway появляется из-за нехватки памяти. Увеличьте количество оперативной памяти и проблема пропадёт. Также в результатах можно будет увидеть, какую нагрузку на сервер даёт каждый отдельный процесс.
Способ 2 ― введите команду free -m
.
Mem ― вся оперативная память.
Swap ― раздел подкачки.
В строке Mem ― free показано свободное место на сервере. Если там маленькое число, увеличьте количество оперативной памяти.
Проверьте логи сервера. Если проблема возникла в момент каких-либо обновлений на сайте, проверьте журнал изменений, чтобы отменить те доработки, которые нарушили функциональность сервера. Также в логах можно увидеть DDos-атаку. Если дело в нехватке памяти, в логах отобразится ошибка OOM (out of memory).
Проверьте плагины в WordPress. Если ваш сайт создан на WordPress, некоторые плагины и темы могут нарушать работу сервера.
-
1.
Войдите в панель управления WordPress. Если вы пользуетесь услугой REG.Site, войти в панель управления CMS можно прямо из Личного кабинета.
-
2.
Перейдите во вкладку «Плагины» ― «Установленные».
-
3.
Нажмите Деактивировать у плагина, который, как вам кажется, повлиял на работу сайта:
Можно сразу отключить все плагины, чтобы убедиться, что один из них влияет на работу сервера. И далее по очереди включайте плагины, пока не найдёте конкретный плагин-виновник.
Проверьте, как работают вспомогательные службы, например MySQL и Memcached. Иногда они могут стать причиной 502 ошибки.
Свяжитесь со службой поддержки своего хостинг-провайдера. Если ничего из вышеперечисленного не помогло, обратитесь к службе поддержки и подробно опишите проблему и действия, которые вы предприняли до обращения. Действуйте по одной из инструкций ниже.
Сайт находится на виртуальном хостинге REG.RU
Если вы столкнулись с единичными случаями возникновения 502 ошибки, можете проигнорировать их.
Если код 502 возникает регулярно, напишите заявку в службу поддержки. В заявке укажите:
- Точное московское время наблюдения проблемы.
- Название сайта, на котором была замечена проблема.
- Если ошибка отображается не сразу, а после определённых действий (добавление изображения, отправка формы с сайта, импорт файлов), подробно опишите порядок действий, по которому мы сможем воспроизвести проблему.
- Если для воспроизведения проблемы необходимо авторизоваться в административной части сайта, предоставьте логин и пароль для доступа.
Сайт находится на VPS REG.RU
Чаще всего на VPS используется связка: Nginx + бэкенд-сервер (Apache, PHP-FPM, Gunicorn, NodeJS). Ошибка 502 возникает в случае, если Nginx не может получить ответ от этих сервисов.
Клиенты с VPS сталкиваются с «502 Bad Gateway», когда:
- какой-то из сервисов выключен. Перезапустите веб-сервер Apache, PHP-FPM либо другой сервис, с которым работает Nginx;
- между Nginx и бэкенд-сервером некорректно настроена связь. Например, Nginx производит обращение к порту 8080, а веб-сервер Apache «слушает» на 8081. В этом случае необходимо скорректировать настройки веб-сервера.
Если вам не удалось самостоятельно устранить ошибку 502, обратитесь в техподдержку. В заявке укажите:
- Точное московское время наблюдения проблемы.
- Название сайта, на котором была замечена проблема.
- Если ошибка отображается не сразу, а после определённых действий (добавление изображения, отправка формы с сайта, импорт файлов), подробно опишите порядок действий, по которому мы сможем воспроизвести проблему.
- Если для воспроизведения проблемы необходимо авторизоваться в административной части сайта, предоставьте логин и пароль для доступа.
ИнтернетСмартфоныОшибка 502
Татьяна Ф.
19 сентября 2018 · 126,3 K
Блогер, изучаю каждый вопрос и пытаюсь дать верный ответ или актуальное решение. · 1 мая 2020
Ошибка 502 Bad Gateway означает, что сервера запрашиваемого сайта или приложения временно недоступны или заблокированы.
Вот полная и понятная инструкция по исправлению ошибки 502: https://aydasite.ru/oshibka-502-bad-gateway-chto-znachit-kak-ispravit/
В большинстве случаев от пользователя ничего не зависит и решать проблему нужно владельцам сервиса. Это могут быть: технические неполадки у хостинга, проблема с настройкой серверов, программные сбои, ошибки PHP.
Но в редких случаях ошибка может выскакивать из-за настроек телефона и его сети. Попробуйте сделать следующее:
- Перезапустите смартфон, переподключите сеть, попробуйте открыть сайт из-под режима инкогнито.
- Смените тип интернета. Например с Wi-Fi на мобильный.
- Если сбой выскакивает длительное время в приложении – сбросьте для него кеш и данные.
- Если сервис зарубежный – попробуйте включить VPN соединение. Приложений много: SuperVPN, TubroVPN и т.д.
Если ничего не помогает и остальные сайты работают без ошибок – просто ожидайте, пусть владелец сайта решает проблему.
27,0 K
Комментировать ответ…Комментировать…
Игры, путешествия и немного всего остального – так интереснее жить. · 19 сент 2018
502 – это ошибка соединения, говорящая, что вы не смогли по каким-то причинам попасть на сайт.
Это проблема не телефона. Вы просто не можете попасть на нужный сайт. Рекомендую проверить соединение с интернетом, а также наличие ВПН на телефоне.
16,6 K
Комментировать ответ…Комментировать…
Опубликовано: вторник, 4 апреля 2023 г. в 20:32
- DevOps
502 Bad Gateway обычно возникает, когда Nginx работает, как обратный прокси-сервер и не может подключиться к серверным службам. Это может быть связано со сбоем службы, сетевыми ошибками, проблемами конфигурации и т.д. Рассмотрим пять основных причин возникновения этой ошибки и то, как их исправить.
Поддерживать сервер сложно.
Вам приходится иметь дело со всеми обновлениями, исправлениями безопасности и случайными ошибками сервера (они же ошибки из ада).
Одной из таких распространённых ошибок на серверах 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 работает как обратный прокси и не может подключиться к серверным службам. Это может быть связано со сбоями службы, сетевыми ошибками, проблемами конфигурации и т.д. Мы рассмотрели пять основных причин этой ошибки и способы её устранения.