Эта статья поможет разобраться, почему на сайтах время от времени появляется ошибка 502 Bad Gateway и как эту проблему решить.
Если эта ошибка возникает, значит HTTP-запросы от клиентов до вашего сайта идут через какой-то шлюз. Например, если на хостинге перед веб-сервером Apache стоит веб-сервер nginx, то nginx будет шлюзом.
502-ая ошибка означает, что запрос от клиента прошел nginx, попал к Apache, и Apache не смог запрос обработать, о чем сообщил nginx’у. В результате nginx отдает клиенту ошибку.
Почему Apache не смог обработать запрос? Как это исправить?
Скорее всего, если сайт раньше работал, а теперь не открывается, дело не в конфигурации среды. Часто причина в нехватке ресурсов сервера, и, следовательно, в невозможности обслужить всех клиентов. В частности, проблема может быть в нехватке оперативной памяти. Такое может случиться и на VPS, и на shared-хостинге.
Если PHP работает через FastCGI, то на сервере может не хватать php-cgi процессов в моменты, когда на сайте много посетителей, заглянул прожорливый бот или кто-то рьяно скачивает ваш сайт целиком для изучения в офлайне. Веб-сервер хотел бы запустить дополнительные процессы, но памяти под них уже нет. Значит, нужно добавить памяти либо оптимизировать расход доступной.
Если команда top показывает, что память есть, возможно, дело в установленных лимитах на количество php-cgi процессов. Нужно смотреть конфигурационные файлы Apache (httpd.conf), особенно секцию модуля, отвечающего за FastCGI (mod_fascgi или mod_fastcgid).
Если проблемы регулярно возникают на обычном shared-хостинге, возможно имеет место оверселлинг или сервер плохо настроен. Подумайте о смене провайдера.
Критические замечания к статье приветствуются.
Комментарии
млин... непонятно.. объясните популярно, как исправить эту проблему
В большинстве случаев нужно просто ждать, когда нагрузка на сервер упадет или администратор сервера решит проблему.
Мои сайты и главный портал у одного и того же хостинга. Выяснилось, что причина 502 Bad Gateway в медленной работе провайдера.
А если к серверу подключен 1 человек, а ошибка всё равно появляется,
причем без nginx'a всё работало?
мб, что-нибудь с конфигурацией энджинкса
У меня стоит опера и если выдает эту ошибку , просто включаю Опера-Турбо и все отлично грузится -)))
Нужно долбить админа вашего хоста. Если есть доступ к панеле управления хоста, тогда проблема в домене, может быть смена DNS серверов вашего домена, тогда нужно подождать сутки двое.
Просто издевательство какое-то. Взял недешевый хостинг, залил сайт и теперь началась эта проблема... Написал в техподдержку,хостеры пока молчат - первый признак того что они накосячили...
У меня была такая проблема, просто у меня слишком много мегабайт информации загружалось на главной странице, до 100 мб. и стала вылазить такая ошибка, ужал картинки, всё пошло нормально
М-да,никто меня не любит гляжу!
Не могли бы еще о такой проблеме написать: страница ошибки 404 отдает статус 200. Как нужно исправлять на статус 400? Если сможете, то пришлите, пожалуйста на почту ссылочку.
Самое забавное, что иногда еще и от браузера зависит. Например, сейчас у друга сайт с ПК недоступен (502), а ОпераМини открывает )))
а это могут быть это ДДос атаки?
Да, такое бывает и при атаках.
только не забывайте, что возможно не в хостинге дело, а именно в вашем сайте и пора покупать сервер
А где копать, если имеется выделенный сервер, на нем куча своих сайтов, а 502 выдает только один из них?
Анализировать логи.
Я простой пользователь. Не является ли появление ошибки 502 - признаком индивидуального бана? Как вообще определить наличие бана, если никаких сообщений об оном не было
Если бан, то скорее будет 503
у меня такое было, причина CPU LOAD 100%
Отправить комментарий