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

2023 Автор: Geoffrey Carr | [email protected]. Последнее изменение: 2023-06-30 10:45

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

Image

Эта ошибка может отображаться на любом веб-сайте. Я уверен, что вы видели сайт, размещенный в Cloudflare, Twitter Overcapacity error, Bad Gateway NGINX, и даже когда Windows Update выходит из строя из-за ошибки 502, он отображает сообщение WU_E_PT_HTTP_STATUS_BAD_GATEWAY.

Помимо ошибки «Bad Gateway», вы также можете использовать ошибки,

  • Ошибка 502
  • Временная ошибка (502)
  • 502 Ошибка прокси-сервера
  • 502 Ошибка сервера: сервер обнаружил временную ошибку и не смог выполнить запрос
  • HTTP 502
  • Плохой шлюз: прокси-сервер получил неверный ответ от восходящего сервера

Разрешение конечного пользователя

1] Сбросить DNS, сбросить Winsock и сбросить TCP / IP

Иногда веб-сайты не разрешаются, поскольку DNS на вашем ПК все еще помнит старый IP-адрес. Поэтому не забудьте очистить DNS, сбросить Winsock и сбросить TCP / IP.

Вы также можете использовать наш бесплатный FixWin для выполнения этих трех операций щелчком. Вы найдете исправления в соответствии с Интернет и связь Вкладка.

2] Изменение DNS

Попробуйте изменить DNS на общедоступный DNS, такой как Google Public DNS, Open DNS, Yandex DNS, Comodo Secure DNS или любой другой и посмотрите. DNS Jumper & QuickSetDNS — это бесплатные инструменты, которые помогут вам изменить настройки DNS по умолчанию одним щелчком мыши.

3] Проверьте сетевые кабели, перезапустите маршрутизатор и снова подключите

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

Разрешение на стороне сервера

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

1] Установите нижний TTL: Если вы изменили сервер или IP-адрес своего веб-сайта, подождите, пока DNS-серверы захватят новый IP-адрес. Распространение требует времени. Однако вы можете ускорить это, изменив TTL или Time to Live на более низкое значение. Это позволит убедиться, что DNS-серверы захватывают новый IP-адрес сравнительно быстрее.

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

3] Плагин безопасности на сервере: Многие CMS или хостинг используют программное обеспечение безопасности для смягчения защиты DDOS. Если эти плагины не настроены должным образом, они могут перегружать и запускать блокировку запросов пользователей для доступа к веб-сайту.

4] Используете ли вы службы CloudFare? Хотя такие сервисы, как CloudFare, бесплатны для базового использования, они начинают отбрасывать запросы, когда вы достигли определенного предела. CloudFlare вернет 502 ошибку Bad Gateway вашим посетителям. Если вы используете что-либо подобное, убедитесь, что вы проверяете журналы ошибок или уведомления из этих служб.

Сообщите нам, если какой-либо из этих советов помог вам решить ошибку 502 Bad Gateway.

Nginx: 502 Bad Gateway — Пять причин и решений

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

  • DevOps

Источник: «“502 bad gateway” in Nginx – Top 5 reasons for it, and how to resolve it»

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

Дополнительные материалы

Предыдущая Статья

Что такое CSS маски и зачем они нужны

Следующая Статья

Архитектурная концепция Laravel: Сервис Провайдеры

Что такое ошибка 502 Bad Gateway и как ее исправить

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

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

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

Понимание ошибки 502 Bad Gateway

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

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

Распространенные причины ошибки 502 Bad Gateway

Существует много потенциальных причин ошибки 502 Bad Gateway, и диагностика конкретной проблемы может быть сложной задачей. Тем не менее, вот некоторые распространенные причины, которые следует учитывать:

  1. Перегрузка сервера. Если вышестоящий сервер испытывает большой объем трафика или запросов, он может быть перегружен и не сможет своевременно отвечать на все запросы. Это может привести к ошибке 502 для некоторых пользователей.
  2. Время простоя сервера: если по какой-либо причине вышестоящий сервер не работает или находится в автономном режиме, сервер шлюза не сможет пересылать ему запросы. Это может привести к ошибке 502 для всех пользователей, пытающихся получить доступ к уязвимым ресурсам.
  3. Настройки брандмауэра или безопасности. Если на вышестоящем сервере есть настройки безопасности или брандмауэр, который блокирует определенные запросы или IP-адреса, он может не отвечать на все запросы. Это может привести к ошибке 502 для некоторых пользователей.
  4. Проблемы с DNS: если есть проблемы с настройками DNS или разрешением имени домена, сервер шлюза может быть не в состоянии направлять запросы на вышестоящий сервер. Это может привести к ошибке 502 для некоторых пользователей.
  5. Неправильно настроенные параметры прокси-сервера: Если на сервере шлюза неправильно настроены параметры прокси-сервера или используется устаревшая версия программного обеспечения прокси-сервера, возможно, он не сможет направлять запросы на вышестоящий сервер. Это может привести к ошибке 502 для некоторых пользователей.

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

Исправление ошибки 502 Bad Gateway может быть сложной задачей, поскольку конкретное решение будет зависеть от основной причины ошибки. Тем не менее, вот несколько шагов, которые вы можете предпринять, чтобы решить эту проблему:

  1. Обновить страницу: В некоторых случаях ошибка 502 может быть результатом временного сбоя или сбоя в соединении. Перед попыткой каких-либо других исправлений попробуйте обновить страницу, чтобы увидеть, устранена ли ошибка сама собой.
  2. Подождите и повторите попытку. Если вышестоящий сервер испытывает большой трафик или другие проблемы, ему может просто потребоваться некоторое время для восстановления. В этом случае ожидание и повторная попытка позже могут решить проблему.
  3. Проверить состояние сервера: проверьте состояние вышестоящего сервера, чтобы узнать, не работает ли он или возникают какие-либо проблемы. Если сервер отключен или находится в состоянии простоя, вы ничего не можете сделать, чтобы исправить ошибку 502. Однако вы можете проверить страницы состояния сервера или учетные записи в социальных сетях поставщика услуг, чтобы получить дополнительную информацию о проблеме.
  1. Проверьте настройки брандмауэра. Если на вышестоящем сервере есть настройки безопасности или брандмауэр, который блокирует определенные запросы или IP-адреса, попробуйте получить доступ к ресурсу с другого IP-адреса или устройства, чтобы проверить, решена ли проблема.
    В качестве альтернативы обратитесь к администратору сервера, чтобы узнать, могут ли они внести ваш IP-адрес в белый список, или изменить настройки безопасности, чтобы разрешить запрос.
  2. Очистить кеш и файлы cookie. Иногда ошибка 502 может быть вызвана повреждением кеша или файла cookie. Очистка кеша браузера и файлов cookie иногда может помочь решить проблему. Для этого перейдите к настройкам или предпочтениям вашего браузера и найдите возможность очистить данные просмотра.
  3. Проверьте настройки DNS: если есть проблемы с настройками DNS или разрешением доменного имени, попробуйте получить доступ к ресурсу, используя другое доменное имя или IP-адрес. Кроме того, проверьте настройки DNS в конфигурации вашей сети, чтобы убедиться, что они настроены правильно.
  4. Обновить параметры прокси-сервера: если на сервере шлюза неправильно настроены параметры прокси-сервера или используется устаревшая версия программного обеспечения прокси-сервера, попробуйте обновить программное обеспечение или перенастроить параметры. Это может помочь решить проблему и предотвратить появление ошибки 502 в будущем.

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

Заключение

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

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

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

следующий → ← предыдущая

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

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

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

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

  • Ошибка HTTP 502 Неверный шлюз
  • HTTP 502
  • 502 Служба временно перегружена
  • Временная ошибка (502)
  • 502 Ошибка сервера: сервер обнаружил временную ошибку и не смог выполнить ваш запрос
  • 502 Плохой шлюз Nginx

В подавляющем большинстве случаев это просто ошибка на стороне сервера, с которой вы ничего не сможете сделать. Иногда это временная ошибка; иногда это не так. Тем не менее, есть некоторые вещи, которые вы можете попробовать со своей стороны.

Обновить страницу

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

Большинство браузеров используют клавишу F5 для обновления и предоставляют кнопку «Обновить» где-нибудь в адресной строке. Это не решает проблему очень часто, но попытка занимает всего секунду.

Проверить, закрыт ли сайт для других людей

Всякий раз, когда вы не можете получить доступ к сайту (по какой-либо причине), вы также можете проверить, проблема с подключением только у вас или у других людей такая же проблема. Для этого существует множество инструментов, но наши любимые — это isitdownrightnow.com и downforeveryoneorjustme.com. Оба работают почти одинаково. Подключите URL-адрес, который вы хотите проверить, и вы получите такой результат.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *