Verification: a143cc29221c9be0

Php 502 bad gateway как исправить

Php 502 bad gateway как исправить

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

Так как ошибка 502 bad gateway обычно связана с проблемами на стороне сервера, она может возникать из-за неверной конфигурации или проблемы с клиентской стороны. Мы рассмотрим шаги поиска решения в обоих случаях. В то время как некоторые решения ориентированы на WordPress, большинство из них могут быть применены к любому сайту. Давайте приступим к шагам поиска причины и решению ошибки 502:

1. Обновите страницу

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

2. Очистите кэш браузера

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

3. Попробуйте другой браузер

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

4. Очистите кэш DNS

Ошибка 502 может возникать ещё и по причине, связанной с DNS, такой как неверное значение IP-адреса в кэше. В таком случае, сброс DNS кэша — это ещё одно решение, которое вы можете испробовать. Здесь руководство о том, как очистить кэш DNS на Windows, Mac и Linux.

Вы также можете временно переключить свой DNS-сервер по умолчанию на Google Public DNS.

Если вы недавно перенесли свой сайт WordPress на новый хостинг, помните, что полное распространение изменений может занять до 24 часов.

5. Проверьте на другом устройстве

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

6. Проверьте журнал ошибок

Если ошибка 502 bad gateway возникла после конкретного изменения или обновления, возможно, что причина кроется внутри самого сайта. Наилучший вариант — проверить журнал ошибок (англ.), чтобы получить подсказки.

В WordPress, вы можете включить журналирование ошибок, добавив следующие строки в файл wp-config.php:

define( 'WP_DEBUG', true ); 
define( 'WP_DEBUG_LOG', true ); 
define( 'WP_DEBUG_DISPLAY', false );

Все созданные записи будут отображаться в файле wp-content/debug.log.

7. Проверьте плагины

Также важно проверить ваши плагины, темы и расширения. Проблемы с плагинами кэширования могут приводить к возникновению ошибки 502 bad gateway.

Если вы можете зайти в панель управления WordPress, перейдите в раздел «Плагины» и просто нажмите «Деактивировать» в меню «Действия».

Меню Деактивации Всех Плагинов в Админке WordPress

Ещё один простой способ проверить, заключается ли проблема в плагине — ненадолго отключить их все, путём переименования каталога plugins, который находится в папкеwp-content.

Если вы используете Hostinger, войдите в свою панель управления hpanel и нажмите Файлы. Оттуда перейдите в Файловый менеджер -> public_html -> wp-content.

Переименование Папки Plugins

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

Если сайт по-прежнему не работает, выполните те же действия с темами WordPress.

8. Проверьте сети CDN

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

Эта страница указывает, что возникла проблема на стороне CloudFlare и для её устранения вам нужно обратиться в их службу поддержки. Но перед тем, вы можете легко проверить статус системы CloudFlare. Или же, как вариант, отключить CloudFlare самостоятельно, но имейте в виду, что обновление DNS может занять несколько часов.

Скриншот Экрана с Ошибкой 502 через Cloudflare

Однако, если вы видите такой вариант ошибки, это значит, что ошибка на стороне вашего хостинг-провайдера.

9. Проверьте сайт

Если проблема так и не исчезла, стоит проверить, как видят ваш сайт другие. В интернете есть множество инструментов для проверки доступности сайта, но лучше всего использовать Down for Everyone or Just Me или IsItDown. Просто введите URL-адрес вашего ресурса и проверьте его статус.

10. PHP Timeout

Ошибка 502 bad gateway может возникнуть при попытке импортировать большое количество файлов WordPress. Такое может случиться, когда один процесс PHP длиться дольше, чем должен. Max_execution_time (max_input_time) — настраиваемое значение, которое находится в конфигурациях PHP на вашем сервере.

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

11. Свяжитесь со своим провайдером услуг хостинга

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

Что означает ошибка 502?

Коды ответа HTTP, которые начинается с цифры “5” относятся к ошибкам связанным с утратой связи между серверами. Точная причина появления в большинстве случаем находится на стороне сервера.

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

Варианты ошибки 502

Ошибка 502 bad gateway может появляться в разных формах. Всё зависит от браузера, операционной системы или веб-сервера, которых существует большое количество. Вот несколько возможных вариантов:

  • Temporary Error (502)
  • 502 Error
  • Error 502
  • HTTP Error 502 Bad Gateway
  • 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
  • HTTP 502
  • 502 Proxy Error
  • Bad 502 Gateway
  • 502 Service Temporarily Overloaded
  • 502 Bad Gateway Nginx
  • 502. That’s an error
  • Пустой белый экран

Ошибка 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

  1. Первая и основная причина ― перегрузка сервера. Перегрузка может быть вызвана несколькими проблемами:

    • Большое количество посетителей одновременно. Веб-ресурс может посещать ограниченное количество посетителей. Сколько человек может посетить сайт зависит от возможностей сервера (размера оперативной памяти) и настроек, которые сделал создатель ресурса. Если по какой-либо причине на сайт зайдёт больше пользователей, чем запланировано, сервис может не справиться и страница выдаст код 502. Такое случается при рекламных акциях и распродажах в интернет-магазинах.
    • Атака хакеров или DDoS-атака. Эта проблема связана с предыдущей причиной перегрузки. Хакер имитирует большой наплыв пользователей, из-за чего сервер выходит из строя. Такие атаки могут быть использованы для снижения продаж.
    • Оверселлинг. Повторная перепродажа уже проданных вычислительных ресурсов сервера (CPU, RAM, HDD). Как это работает? При покупке услуги хостинга у клиента есть ограниченное количество ресурсов. При создании сайта создатели часто берут хостинг с запасом ресурсов на случай, если в будущем посещаемость веб-ресурса вырастет или понадобится больше памяти для файлов сайта. Из-за этого некоторое количество ресурсов простаивает. По статистике, только 20% клиентов используют свои серверы на 80%. Остальным 80% администраторов хватает 20%, следовательно большая часть сервера не используется. С точки зрения покупателя, это разумно. Сайт должен быть готов к неожиданностям. Хостинг-провайдеру это невыгодно. Бывает, что безответственные провайдеры перепродают неиспользованные ресурсы. А когда первоначальный владелец хочет использовать свои приобретенные ресурсы, случается перегрузка сервера.
    • Плохая оптимизация сайта. Настройки ресурса сделаны так, что маленькое количество посетителей генерирует много запросов. В этом случае нужно оптимизировать работу сервера с пользовательскими запросами.
  2. Второй причиной возникновения кода 502 могут явиться ошибки РНР. Если для расширения функционала сайта в панель управления были добавлены некорректно настроенные плагины, они могут выдавать проблемы в своей работе. Вместе с ними ошибку покажет и сайт целиком. Также если код сайта написан неправильно, запросы могут давать отрицательный результат.

  3. Ошибка браузера. Проблема может быть на стороне пользователя, если у него установлены расширения, которые нарушают соединение с сервером сайта.

Чем отличается ошибка 502 Bad Gateway Nginx

Между браузером и сервером может стоять веб-сервер. Он используется для снижения нагрузки на сервер, аутентификации пользователей и многого другого. Самые популярные программы для создания веб-сервера ― Nginx и Apache. Так как веб-сервер является посредником между браузером и сервером, то именно он будет оповещать пользователя о проблеме. Поэтому в зависимости от веб-сервера в сообщении вы можете увидеть надпись Bad Gateway Nginx или Bad Gateway Apache. При этом причины возникновения проблемы одинаковы.

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

Если вы не можете попасть на сайт из-за ошибки 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 не запущен.

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

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

Что делать, если вы пользователь

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

Перезагрузить страницу

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

Проверить подключение к интернету

Стоит проверить работу модема и попробовать загрузить другие страницы. Убедитесь, что подключение к интернету стабильное. Еще вариант – перезапустить маршрутизатор и попробовать снова загрузить проблемный сайт.

Очистить кэш и cookies

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

Для любого браузера актуально – зайти в историю просмотров и найти ссылку «Очистить историю». В новом окне отметить пункты с кэшем и cookies, затем подтвердить действие. Как только данные будут удалены, надо вновь попробовать загрузить страницу. Не помогло? Идем дальше!

Очистить кэш DNS

Допустимо, что в кэше установлено неправильное значение IP-адреса. Для таких случаев можно использовать сброс DNS кэша. В ОС Windows необходимо открыть инструмент «Командная строка» (вводим в поисковую строку название программы и выбираем запуск от имени администратора).

Далее следует ввести вот такую команду и активировать ее нажатием на клавишу Enter:

ipconfig /flushdns

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

Как очистить кэш DNS через командную строку Windows

Для Linux действие примерно схоже, но команда выглядит иначе. Открываю утилиту «Терминал» и ввожу в поле вот такой запрос:

Для Ubuntu:

sudo service network-manager restart

Для других дистрибутивов:

sudo /etc/init.d/nscd restart

Попробовать зайти с другого браузера

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

Отключить плагины и расширения

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

Зайти на страницу позже

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

Читайте также

Ошибка 400 Bad Request

Что такое ошибка 500 и когда она возникает

Что означает 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 на ошибки:

nginx -t

Допустим, у нас в качестве шлюза для генерации динамического содержимого используется 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:

location ~ \.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;
...
}