19 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Ошибка 502 Bad Gateway Nginx — что это значит и как исправить?

502 Bad Gateway

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

Данную ошибку можно назвать сообщением nginx-сервера, которое выдается в браузере пользователя, когда тот пытается просмотреть сайт. Схема простая: вы пытаетесь просмотреть сайт (ваш браузер делает http-запрос), и ваш запрос передается на Apache-сервер (на котором находится сайт), но не напрямую, а через дополнительный сервер (nginx). Apache получил запрос, но не смог его обработать, и следовательно сообщил об этом на nginx-сервер, а тот в свою очередь передал в ваш браузер сообщение “Ошибка 502 Bad Gateway nginx. “.

Почему это происходит?

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

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

Для обычного хостинга

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

Для арендованного сервера

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

Юзеры ( 4 ) оценили на 3.8 из 5

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

Также мы собрали тарифы от тысяч хостеров, чтобы вы могли выбрать хостинг по конкретной цене.

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

Виртуальный хостинг – подходит для большинства проектов начального уровня с посещаемостью до 1000 человек в сутки. В таком хостинге мощность сервера делится между несколькими хостинговыми аккаунтами. Услуга проста в настройке даже для новичков.

VPS – подходит для более сложных проектов с достаточно большой нагрузкой и посещаемостью до 10000 человек в сутки. Здесь мощность сервера фиксированная для каждого виртуального сервера, при этом сложность настройки увеличивается.

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

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

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

Тестовый период – предоставляется хостером бесплатно на 7-30 дней, чтобы вы могли удостовериться в его качестве.

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

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

Абузоустойчивый хостинг – компании, которые разрешают размещать практически любой контент, даже запрещенный (спам, варез, дорвеи, порнографические материалы). Такие компании не удаляют контент вашего веб-сайта при первой же жалобе (“абузе”).

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

Безопасный хостинг – тот, где администрация постоянно обновляет ПО установленное на серверах, устанавливает базовую защиту от DDoS-атак, антивирус и файерволлы, блокирует взломанные сайты и помогает их “лечить”.

Защита от DDOS – компании, которые предоставляют хостинг с защитой от DDoS-атак. Такие пакеты ощутимо дороже обычных, но они стоят своих денег, так как ваш сайт будет защищен от всех видов сетевых атак.

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

ASP.NET – платформа для разработки веб-приложений от Майкрософт.

От панели управления зависит ваше удобство в настройке хостингесайта.

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

Как настроить?

Всё о Интернете, сетях, компьютерах, Windows, iOS и Android

Ошибка 502 Bad Gateway Nginx — что это значит и как исправить?

Иногда, путешествуя по просторам Интернет и зайдя на тот или иной сайт, Вы можете увидеть там не нужную информацию, а белый фон и на нём крупными буквами ошибка: 502 Bad Gateway. Что это значит? Ничего хорошего, на самом деле. Это сообщение выдаёт веб-сервер nginx при возникновении некоторых проблем в работе. Если Вы попытаетесь открыть другие страницы на этом же сайте по сохранённым ссылкам, то успехом это так же не увенчается. Что же делать? А это зависит от того — кем Вы являетесь для этого сайта.

Читать еще:  Не скачиваются приложения Windows 10

Если Вы простой посетитель, то решение одно — ждать пока администрация веб-ресурса починит сервис. Как долго? Сложно сказать. Если это крупный портал какой-нибудь компании, фирмы или гос.учереждения, то админ должен восстановить работу сайта в ближайшее время. Если же это личный блог какого-нибудь Васи Пупкина, то вполне вероятно что никто ничего чинить не будет, так как Вася про свой блог забыл и он ему не нужен.
а) Если Вам очень нужна находящаяся на страничке информация, то либо попробуйте найти контакты администрации и связаться с ней по почте или через регистратора или хостера, либо воспользуйтесь веб-кешем поисковиков, введя ссылку на сайт или страничку в поисковую строку поисковика и открыв сохранённую копию.
б) Очень часто ошибка Nginx 502 означает что интересующий веб-ресурс перегружен. Что делать? Опять же только ждать пока нагрузка уменьшится, периодически обновляя страничку в браузере.
в) Если через какое то время на других компьютерах и иных устройствах (планшет, телефон, ноутбук) сайт открывается без проблем, а с Вашего всё равно отображается ошибка nginx, то нужно почистить кеш браузера.

Если Вы владелец или администратор сайта, который при попытке на него зайти выдаёт ошибку 502 Bad Gateway, то неисправность придется решать скорее всего Вам. Всё зависит от того, есть ли у Вас SSH-доступ к своему хостингу или нет. Если нет, то проблема автоматически ложится на плечи Вашего хостинг-провайдера — обратитесь в техническую поддержку с подробным описанием проблемы. Как правило, в этом случае решается всё довольно-таки оперативно, так как сайт обычно на сервере не один и заявки поступают от других клиентов тоже.
Хуже, если Ваш сайт расположен на виртуальном (VPS) или выделенном (VDS) сервере. В этом случае, обычно, переложить проблему с больной головы на здоровую (читай: со своей на техподдержку хостера) не получится и придётся всё исправлять самостоятельно. Что делать?
Для начала, попробуйте перезапустить сервер nginx. На CentOS, например, это делается командой:

Если он у Вас используется, как фронт-энд для сервера Apache (httpd), то последний мог вылететь или повиснуть — перезапустите и его:

Не помогло — посмотрите текущую загрузку сервера с помощью команды:

Особенно обратите внимание на значение параметра load average:

Он должен быть примерно равен количеству ядер процессора, ну плюс/минус 2. Если значение load average больше 10, то стоит бить тревогу — что-то сильно грузит процессор сервера. Часто за этим стоит направленная атака DDOS. Выясняйте причину — скорее всего её устранение вернёт Ваш сайт к нормальной жизни.

Ошибка 502 bad gateway – что это значит и как исправить

Автор: Anastasia · Январь 31, 2018

Иногда вместо сайта в браузере появляется страница с ошибкой. Рядом с сообщением об ошибке часто приведен код, который поможет распознать и устранить неисправность. Разберемся с кодом 502 bad gateway – что же это значит, и как зайти на нужный сайт.

Причины ошибки

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

Обычно ошибка 502 bad gateway возникает, если:

  • на сайт одновременно хотят зайти слишком много пользователей;
  • произошел сбой на хостинге;
  • хакеры ведут DDos-атаку, перегрузив канал.

Есть и другие причины возникновения ошибка 502 – проблемы с адресом DNS или прокси-сервером. В любом случае, эта неисправность не зависит от компьютера пользователя и его настроек.

Как исправить

При появлении 502 bad gateway – как же исправить проблему? Полностью устранить ошибку на удаленном сервере вы не сможете, но ряд действий может помочь получить доступ на сайт:

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

Из-за кэшированных и временных файлов вы можете видеть ошибку даже тогда, когда на сервере она уже устранена. Чтобы удалить cookies, заходите в настройки браузера:

  • Chrome: кликайте на кнопку с тремя точками, в настройках раскрывайте «Дополнительные», в подпункте «Очистить историю» отмечайте галочками файлы кеша и cookie;
  • Edge: по иконке с тремя точками заходите в «Параметры», в списке выбирайте «Очистить данные», ставьте галки на cookie и кэшированные данные;
  • Opera: в меню заходите в «История» и выбирайте «Очистить».

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

Заключение

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

Что значит 502 bad gateway Nginx

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

Читать еще:  Как в Яндекс.Карты проложить маршрут от пункта

И необязательно чтобы вы использовали Nginx в качестве прокси для доступа к сети. Нет, для работы большинства сайтов требуется генерация динамического контента, например, на php. Поэтому Nginx часто выступает в прокси для Apache или php-fpm. В этой статье мы рассмотрим что означает 502 bad gateway Nginx, как исправить ее.

Что означает 502 bad gateway Nginx

Как и следует из названия, эта ошибка значит, что Nginx попытался связаться со шлюзом и у него ничего не вышло. Например, запросы от пользователей принимает Nginx, поскольку он работает быстро и потребляет мало ресурсов, а за генерацию контента отвечает php-fpm. Если сервис php-fpm во время обработки запроса получил какую-либо ошибку и не вернул результата, или же он вообще отключен и Nginx не может получить к нему доступ мы получим такую ошибку.

Вот основные причины:

  • Nginx используется в качестве прокси для Apache или php-fpm, но эти сервисы не запущены;
  • Nginx используется качестве прокси для php-fpm, но параметры доступа к сокету неверно настроены;
  • Неверно настроены значения размера буфера и таймаута для php-fpm в nginx.conf;
  • Ошибки в конфигурации Nginx.

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

1. Анализ логов и перезапуск

Чтобы исправить ошибку нужно выяснить что случилось со шлюзом. Лучший способ сделать это – посмотреть логи Nginx, там обязательно должно быть что-то написано и намного подробнее, чем в выводе браузера:

tail -f /var/log/nginx/error.log

Это уже должно дать вам некоторые подсказки что делать дальше. Еще в первую очередь не помешает проверить файл конфигурации Nginx на ошибки:

Допустим, у нас в качестве шлюза для генерации динамического содержимого используется php-fpm. Тогда нужно проверить запущен ли вообще этот сервис:

ps aux | grep php

Если все процессы уже запущены, попробуйте перезапустить их с помощью systemd:

sudo systemctl restart php-fpm

Если процесс остановлен, то его нужно запустить:

sudo systemctl start php-fpm

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

sudo tail -f /var/log/php7.0-fpm.log

Но если такой рецепт не помог, и ошибка 502 bad gateway nginx нужно идти дальше. Внимательно пересмотрите лог, возможно, там уже есть ответ.

2. Доступность php-fpm и владелец

Также эта ошибка может возникать при проблемах доступа к файлу сокета php-fpm, например, когда этот файл называется по другому или для него выставлены неверные права. Сначала убедитесь, что в конфигурационном файле /etc/nginx/nginx.conf указан правильный адрес файла сокета php-fpm:

.php$ <
fastcgi_pass unix:/var/run/php7.0-fpm.sock;
include fastcgi_params;
>

Файл /var/run/php7.0-fpm.sock должен действительно существовать в файловой системе. Дальше нужно убедиться, что у сокета правильный владелец, это должен быть тот же пользователь, от имени которого запускается Nginx, группа тоже должна соответствовать. Откройте файл /etc/php7.0/fpm/pool.d/www.conf и найдите строчки user и group. Они должны иметь такое же значение, как строчка user в конфиге nginx.conf:

listen = /var/run/php7.0-fpm.sock
listen.owner = www-data
listen.group = www-data

После того как выставите правильные параметры, перезапустите сервисы:

sudo service php5-fpm restart
$ sudo service nginx restart

3. Время отклика и размер буфера

Возможно, размер буфера и время ожидания ответа от fastcgi настроены неверно и программа просто не успевает обработать большой запрос. Попробуйте увеличить такие параметры в /etc/nginx/nginx.conf. Если таких строк не существует, добавьте их в блок http, как здесь:

sudo vi /etc/nginx/nginx.conf

http <
.
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
.
>

Выводы

В этой статье мы рассмотрели 502 bad gateway nginx что это значит и как исправить эту ошибку. Как видите, может быть достаточно много причин ее возникновения, но решить все достаточно просто если внимательно посмотреть логи и понять в чем там действительно проблема. Надеюсь, информация была полезной для вас.

База знаний

Здесь Вы найдёте информацию о предоставляемых функциях, устранению неполадок,
а также другую техническую информацию, связанную с хостингом Hostinger.

  • Категории
  • Ошибки / Проблемы
  • Просмотр Статьи

Ошибка 502 Bad Gateway nginx и почему она возникает?

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

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

Причина появления ошибки 502 Bad Gateway:

Время ожидания серверного программного обеспечения. 502 ошибка неизбежна при снижении скорости выполнения запросов в nginx, когда средство кэширования (например, Varnish Cache) уходит в таймаут. Сюда же относятся и медленные запросы;

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

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

Ошибки сети. Прочие ошибки конфигурации сети (проблемы с DNS, маршрутизация, блокировка файерволом, используемым на сервере, проблемы у провайдера) также становятся причиной появления 502 ошибки сервера;

Читать еще:  Полезные короткие номера Теле2

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

Загрузка файлов большого размера на сервер при плохом качестве Интернет-соединения;

Вот несколько советов, как исправить ошибку 502 bad gateway:

Следите за тем, чтобы файлы сайта (плагины и темы) своевременно обновлялись и не устаревали;

Проводите аудит серверного программного обеспечения и вовремя обновляйте модули;

Избегайте проблем с маршрутизацией и отслеживайте любые перегрузки/атаки на сервер;

Оптимизируйте и исправляйте медленные MySQL-запросы;

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

Отключите все внутренние статистики на сайте – например, используйте http://www.google.com/analytics;

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

Отзывы и обзоры хостинга

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

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

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

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

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

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

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

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

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

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

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

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

Если у вас VPS

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

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

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

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

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

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

0 0 голоса
Рейтинг статьи
Ссылка на основную публикацию
Статьи c упоминанием слов:
×
×