Загружая страницу, браузер отправляет кучу запросов другим серверам. Они обрабатывают все запросы, затем возвращают код ответа 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 и что может сделать пользователь и владелец сайта, чтобы её исправить.
Ошибка 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, обратитесь в техподдержку. В заявке укажите:
- Точное московское время наблюдения проблемы.
- Название сайта, на котором была замечена проблема.
- Если ошибка отображается не сразу, а после определённых действий (добавление изображения, отправка формы с сайта, импорт файлов), подробно опишите порядок действий, по которому мы сможем воспроизвести проблему.
- Если для воспроизведения проблемы необходимо авторизоваться в административной части сайта, предоставьте логин и пароль для доступа.
HTTP 504 Gateway Timeout and HTTP 502 Bad Gateway errors are the most common server errors for WordPress website visitors and owners. In my previous article, we’ve already discussed the causes of a 504 Gateway Timeout error and possible solutions for it. In this article, we’ll come to understand what a 502 Bad Gateway error is, talk about the reasons for a 502 Bad Gateway error, and explore some tips for troubleshooting this type of errors.
What does 502 Bad Gateway mean?
Before we define what a 502 Bad Gateway error is, let’s deep-dive into server infrastructure and find out the meaning of some terms, like web server, proxy server or gateway, and upstream server.
Let’s first discuss how hosting a modern web application works. For this we need three actors:
- The web application
- The gateway
- The web server
In the picture below you can see the PHP modern web application workflow.
A web application is application software that can be coded in different programming languages and can use specific frameworks or libraries. It typically has tools to handle HTTP requests. For your WordPress website, the web application is your WordPress installation which is coded in PHP.
The gateway sits between a web server (Nginx, Apache) and a web application. It accepts requests from a web server and translates them for a web application. The exact definition of a gateway is somewhat fluid. Some call themselves process managers, some call themselves HTTP servers.
Here’s what the common functionality of a gateway entails:
- Listening for requests (HTTP, FastCGI, uWSGI, and more)
- Translating requests to application code
- Spawning multiple processes and/or threads of applications
- Monitoring spawned processes
- Loading balance requests between processes
- Reporting/logging
PHP-FPM (PHP-FastCGI Process Manager) is the gateway for PHP. It is an implementation of FastCGI and will listen for FastCGI requests from a web server.
FastCGI is a binary protocol for interfacing interactive programs with a web server. CGI (Common Gateway Interface) is a web technology and protocol which describes a way for a web server to communicate with external applications, e.g. PHP. CGI is an interface between the web server and the dynamic web content that is generated by web applications that are written in different programming languages, such as PHP, Python, etc. FastCGI is an improved version of CGI.
A modern way to run PHP applications is to use PHP-FPM. Before PHP-FPM, PHP was commonly run directly in Apache, there was no need for a gateway. Apache’s PHP module loaded PHP directly, allowing PHP to be run in line with any processed files.
The web server generally hosts multiple sites, serves static files, proxies requests to other processes, performs load balancing and HTTP caching. The most popular web servers are Apache and Nginx. Apache used to be the most widespread web server until Nginx became more popular.
At 10Web we support LEMP stack, which is similar to LAMP (Linux, Apache, MySQL, and PHP), except Apache is replaced with Nginx. What happens when you open your WordPress website hosted by 10Web in your browser? The web server, in this case, Nginx, accepts a request and relays it to PHP-FPM, which in turn interprets the PHP code. The response is relayed back, finally reaching the client. In this case, Ngnix acts like a proxy server which in most cases is called an edge server. The server behind the proxy server is called upstream or origin server. In this case, PHP-FPM acts as an upstream server.
Now that we fully understood the above-mentioned terms, let’s finally understand what the 502 Bad Gateway error is.
What is a 502 Bad Gateway error?
We face a 502 Bad Gateway error when the web server acts as a proxy server and receives an invalid response from the upstream server. A 502 Bad Gateway error indicates that the proxy server, which is the edge server, was not able to get a valid response from the upstream server, which is the origin server. When you see a 502 Bad Gateway error it means that something is wrong with the upstream server. This can happen because of various reasons which we’ll cover in this article.
The different forms of 502 errors
A 502 Bad Gateway error can appear in different ways depending on the operating system, web browser, and device. Here’s how it looks most of the time:
Some websites customize 502 Bad Gateway pages. Here’s Google’s:
Platforms can also change the message of the error. So you can encounter different messages for the same error but they all have the same meaning:
- 502 Bad Gateway
- HTTP Error 502 Bad Gateway
- Error 502
- HTTP 502
- HTTP Error 502 – Bad Gateway
- 502 Proxy Error
- 502 Server Error: The server encountered a temporary error and could not complete your request.
- 502 Bad Gateway NGINX
- 502. That’s an error. The server encountered a temporary error and could not complete your request. Please try again in 30 seconds. That’s all we know.
What are the reasons behind the 502 Bad Gateway error?
The 5xx status codes indicate that there are problems with the server, and 502 is not an exception. For some reason, the proxy server can’t get a response or a valid response from the upstream server. In your WordPress website with Nginx/PHP-FPM stack, a 502 error can happen when PHP-FPM is not running or Nginx can’t communicate with PHP-FPM for some reason. This case should be checked by your hosting provider. Another reason could be PHP-FPM timeout issues, which we’ll discuss down the line.
Any misunderstanding between Nginx and PHP-FPM can lead to a 502 Bad Gateway error. Though these errors are connected to server-side issues, there are some tips for troubleshooting on the client side.
Let’s go over both client- and server-side troubleshooting.
How to Troubleshoot a 502 error message
Here are some very simple ways of fixing 502 Bad Gateway errors from the client side.
Reload the page
The first thing you should do is reload the page and wait for a minute. If the 502 Bad Gateway error disappears, it means there was a temporary problem with the upstream server or the networking between servers. If the error remains, check if the site is down for everyone. You can use Is it down right now? for this. If the site is up for everyone except you, open the site on another browser or in private mode.
Clear browser cache
Another easy tip is to clear the browser cache. If the error disappears after cleaning cache, it means that there was a temporary problem that has been resolved, but because of cache, you kept seeing the 502 Bad Gateway error template, instead of your website. If the error remains, try the next tip.
Flush DNS cache
The 502 Bad Gateway error can occur because of DNS issues. Operating systems, such as Linux, Windows, and macOS save name resolution information in the form of a DNS cache. In many cases clearing the DNS cache can solve a 502 Bad Gateway error. Here are the commands which you can use for flushing DNS cache on Windows, MacOs, and Linux.
Use this command to flush cache on Windows:
ipconfig /flushdns
On macOS, you should open the terminal and type:
sudo killall -HUP mDNSResponder
There’s no message after processing this command, but you can add your own by running the command like this:
sudo killall -HUP mDNSResponder; dns cleared successfully
Things are different in Linux, as different Linux distributions use different DNS services. Some of them are NSCD (Name Service Caching Daemon), dnsmasq, and BIND (Berkeley Internet Name Domain). For an NSCD DNS cache:
sudo /etc/init.d/nscd restart
For a dnsmasq DNS cache:
sudo /etc/init.d/dnsmasq restart
For a BIND DNS cache:
sudo /etc/init.d/named restart sudo rndc restart sudo rndc exec
If the terminal asks for your password, just enter it.
Change DNS servers
You can also try to temporarily change your DNS servers. More information about changing DNS servers can be found in this article: Change your DNS servers settings.
If you’re using Cloudflare
Cloudflare returns a Cloudflare-branded HTTP 502 error when your origin web server responds with a standard HTTP 502 bad gateway:
This means that something is wrong with your origin server and you can try to use the above-described tips to fix the issue.
If the 502 error is from Cloudflare, the page looks like this:
If the error contains the word “Cloudflare,” the problem comes from Cloudflare, otherwise, it is from the origin server. In the first case, you can contact Cloudflare support, and in the second case, you can follow the described tips. If nothing helps, contact your hosting provider. You can read more about Cloudflare 5xx errors in the article Troubleshooting Cloudflare 5XX errors.
We’ve discussed some client-side tips which can help you troubleshoot a 502 Bad Gateway error. Now let’s see what you can do on the server-side.
Restart PHP
The very first step is to restart your PHP. With 10Web, you can do this by going to Hosting Services > Tools and clicking the blue “Restart PHP” button.
If your hosting doesn’t provide an interface for restarting PHP, ask them to do it for you.
Check logs
Checking your server error logs can give you very useful information about 502 Bad Gateway errors. With 10Web, you can easily check server logs by going to Hosting Services > Logs.
If you have access to your file system, you can check server logs. In the case of the Nginx web server, you can find logs here:
/var/log/nginx
In the case of Apache web server, the logs are in this repository:
/var/log/apache2
Improper firewall configuration
Improper firewall configuration can lead to 502 Bad Gateway errors. A firewall is a network security system that monitors and controls the incoming and outgoing network traffic based on predetermined security rules. It typically establishes a barrier between a trusted network and an untrusted network.
There can be cases that some awkward firewall settings can consider safe and valid content malicious and, consequently, cut off traffic which in turn cause 502 Bad Gateway errors. Check your firewall configuration to reveal any improper configs.
Third-party plugins & themes
Non-optimal codes in WordPress plugins and themes can also cause 502 errors. So, check your plugins and theme. If you have access to your WordPress admin, deactivate all your plugins, and if the error disappears it means that there is at least one guilty plugin. Then activate them one by one to find the guilty ones. If your WordPress admin area can’t be reached because of the error but you have access to your WordPress files, just rename the plugins directory in wp-content. It will deactivate all plugins. And again start activating them one by one.
If the problem isn’t the plugins, that is deactivating all plugins or renaming plugins directory doesn’t change anything, try to temporarily change your theme to WordPress’s default theme. Once you find the bad plugins or theme, connect to the respective support team and describe the issue.
And don’t forget to keep your plugins, theme, and WordPress core up-to-date. This will help you avoid many problems, including 502 errors.
Restart PHP-FPM service
You will get a 502 error if the PHP-FPM service is inactive or not running on your server. If you have access to your hosting, you can check this by running one of the following commands. For SysVinit:
sudo service php7.4-fpm status
For SystemD:
sudo systemctl status php7.4-fpm
If the service is active and running, the output of the command should be like this:
If the status is not Active: active(running), try restarting PHP-FPM service to resolve the error using one of the following commands. For SysVinit:
sudo service php7.4-fpm restart
For SystemD:
sudo systemctl restart php7.4-fpm
Timeout issues
The 502 error can be caused by a PHP-FPM timeout. If your application is taking too long to respond, your users will experience a timeout error. If the PHP-FPM timeout is less than Nginx timeout, Nginx will return a 502 Bad Gateway error. To avoid this, you can increase PHP-FPM timeout if you have access to your server.
PHP-FPM timeout is set in pool configuration which is
request_terminate_timeout
The default value for this directive is 20 seconds. If you don’t have access to your server, ask your hosting provider to check it. To avoid getting 504 errors after increasing PHP-FPM timeout which can be because of Nginx timeout, the default is 60 seconds, you can increase fastcgi_read_timeout directive in /etc/nginx/nginx.conf file. Don’t forget to reload the Nginx server after changing the directive:
nginx -s reload
PHP execution time errors can also lead to 502 Bad Gateway errors. To avoid this, you can increase the PHP configs, such as max_exexution_time and max_input_time.
If you have your server access, just change these directives in your php.ini file. If not, ask your hosting provider to do it for you.
FAQs
What is the difference between a 404 error and a 502?
A 404 Not Found error occurs when content can’t be found by the web server. A 502 Bad Gateway error happens when the proxy server can’t get any response or gets an invalid response from the upstream server. You come across 404 when requested content was removed or doesn’t exist. You see 502 errors when there is an issue with the upstream or origin server or a communication issue between proxy and upstream servers.
What is the difference between 502, 503, and 504 error messages on websites?
You got a 502 Bad Gateway error when the proxy server doesn’t get a valid response from the upstream or origin server. 504 Gateway Timeout error happens when the server which is acting as a proxy server can’t receive a timely response from the upstream server. 503 Service Unavailable error indicates that the server is not ready to handle the request, this happens when the server is down for maintenance or is overloaded.
Do 502 errors have any impact on website rankings?
The 502 Bad gateway error can have a major impact on website rankings. You don’t have to worry about a negative impact on SEO if the error lasts a few minutes. If the page is being crawled during this time, the crawler can load it from the cache. But you do need to worry if this error lasts for a few hours. In that case, Google will see the 502 error which can negatively impact your rankings.
What can I do when PHP is working in the command line but returns a 502 error in the browser?
502 error happens because of bad communication between proxy and upstream servers. When you’re running PHP in the command line you don’t need a web server, PHP works for you directly. To find out the reasons for 502 errors, read the above-described tips.
Conclusion
Now you have a complete understanding of what 502 errors are and why they appear on your website. We’ve discussed the various possible reasons for these errors and described many troubleshooting approaches that’ll help you find a solution.
That was all for now. Feel free to leave a comment and let us know if we managed to provide a suitable way for you to troubleshoot your bag gateway error!
When your website experiences a 502 Bad Gateway Error, it can be like solving a mystery. You don’t know what exactly happened or why — all you know is that something’s wrong and you need to fix it.
What causes a 502 bad gateway error?
To guide you through the hassle of fixing the dreaded 502 Bad Gateway Error, let’s go over what it exactly is and its most common causes and solutions.
A 502 Bad Gateway Error is a general indicator that there’s something wrong with a website’s server communication. Since it’s just a generic error, it doesn’t actually tell you the website’s exact issue. When this happens, your website will serve an error web page to your site’s visitors, like the photo below.
Picture Credit: Arm Mbed OS
Fortunately, there are seven common and effective solutions for analyzing and fixing most of the causes of 502 Bad Gateway Errors.
The tactics discussed below provide general fixes for 502 Bad Gateway Errors. If you have a WordPress site, this issue may require WordPress-specific solutions.
How to Fix a 502 Bad Gateway Error
- Reload the page.
- Look for server connectivity issues.
- Check for any DNS changes.
- Sift through your logs.
- Fix faulty firewall configurations.
- Comb through your website’s code to find bugs.
- Contact your host.
1. Reload the page.
Sometimes server connectivity issues are resolved relatively quickly. Before you dive deep into what’s causing the problem, take steps to ensure that this is actually a major error and not just a blip.
Wait a minute or two. Then reload the page. If the page loads with no error, this might’ve been a temporary connection problem.
If the page is still giving you an error, clear your browser cache and then try refreshing it once more.
If that doesn’t work, move on to investigating the error.
2. Look for server connectivity issues.
Most websites live on multiple servers or third-party hosting providers. If your server is down for maintenance or any other reason, your website could serve visitors a 502 Bad Gateway Error page.
The only way to troubleshoot this issue is to wait for your server to finish maintenance or fix the problem causing the error.
If you don’t want to contact your hosting service, one quick way to make this determination could involve running a ping test to see if messages are reaching your IP.
3. Check for any DNS changes.
If you’ve recently changed host servers or moved your website to a different IP address, it’ll make changes to your website’s DNS server. This could cause your website to serve its visitors a 502 Bad Gateway Error page.
Your website won’t be up and running until these DNS changes take full effect, which can take a few hours.
4. Sift through your logs.
Server logs will provide details about your server’s health and status. Sift through them to uncover and respond to any alarming information.
5. Fix faulty firewall configurations.
Your firewall is your website’s gatekeeper, protecting your site from malicious visitors or distributed denial-of-service (DDoS) attacks.
Sometimes, a faulty firewall configuration will cause your firewall to deem requests from a content delivery network as an attack on your server and reject them, resulting in a 502 Bad Gateway Error. Check your firewall configuration to pinpoint and fix the issue.
6. Comb through your website’s code to find bugs.
If there’s a mistake in your website’s code, your server might not be able to correctly answer requests from a content delivery network. Comb through your code to find bugs or copy your code into a development machine.
It’ll perform a thorough debug process that will simulate the situation that your 502 Bad Gateway Error occurred in and allow you to see the exact moment where things went wrong.
7. Contact your host.
If you can’t figure out the problem on your own, or if you think your host company is the culprit, give them a call. They may be able to look deeper into what’s going on and shed some light on the situation.
If the issue is on their end, they might be able to easily fix it. If the problem is something related to your website specifically, they might also be able to walk you through the solution.
Форумы Google пестрят жалобами пользователей на серверную ошибку 502 в Google приложениях. Несмотря на случайный фактор своего появления, эта ошибка может изрядно снизить посещаемость сайта.
502 bad gateway — что это за ошибка? Ошибка 502 Bad Gateway может проявляться по-разному. К примеру, 502 – Service Temporarily Overloaded или HTTP Error 502 Bad Gateway.
Ошибка 502 bad gateway — что это значит?
Ошибка 502 bad gateway говорит о том, что обратный прокси-сервер (допустим, Apache) для сервера источника (например, nginx) получает некорректный ответ от исходного веб-сервера.
Посмотрев внимательнее, мы обнаружили, что Apache работает в нем как прокси nginx. Веб-сервер перезагружал http-сервис почти каждый час. Наш опыт в устранении подобных ошибок показывает, что ошибка 502 Bad Gateway появляется по одной из следующих причин:
- Перегруженность сервера. Веб-сервер может падать из-за нехватки ресурсов (например, оперативной памяти), вызываемой избытком выполняемых процессов или агрессивными действиями пользователей;
- Частая перезагрузка веб-сервера. Такое случается при ошибках конфигурации, сбоях в модулях, любых атаках, избытке выполняемых процессов и приложений. В результате пользователь видит временную 502 ошибку;
- Плохой код сайта. Сайты с устаревшими приложениями или корявым кодом влияют на правильное функционирование сервера и ведут к периодическому возникновению 502 ошибки;
- Ошибки сети. Прочие ошибки конфигурации сети (проблемы с DNS, маршрутизация, блокировка файерволом, используемым на сервере, проблемы у провайдера) также становятся причиной появления 502 ошибки сервера;
- Время ожидания серверного программного обеспечения. 502 ошибка неизбежна при снижении скорости выполнения запросов в nginx, когда средство кэширования (например, Varnish Cache) уходит в таймаут. Сюда же относятся и медленные запросы.
Как исправить ошибку 502 bad gateway на веб-сервере nginx
Сначала необходимо определить первопричину возникновения данной ошибки. Мы изучили серверные логи во время перезагрузок, и нашли там ошибки seg fault.
Затем мы покопались в конфигурации сервера, и увидели, что там отсутствовал модуль mod_rpaf. Именно это и вызывало падение сервера:
root@server [~]# ls -l /usr/local/apache/modules/mod_rpaf-2.0.so /bin/ls: cannot access /usr/local/apache/modules/mod_rpaf-2.0.so: No such file or directory
Rpaf – это модуль Reverse proxy add forward, разработанный для серверов Apache. Он нужен в том случае, если вы задаете Nginx фронденд-сервером и хотите получить реальный IP серверных запросов.
Данный модуль не работал под Apache-2.4, поэтому мы немного его подправили. После перекомпиляции и перезагрузки Apache ошибки сегментации прекратились.
Мы последили за сервером еще пару часов и убедились в том, что перезагрузки прекратились, а серверные ошибки исчезли.
Вот несколько советов, как исправить ошибку 502 bad gateway:
- Следите за тем, чтобы файлы сайта (плагины и темы) своевременно обновлялись и не устаревали;
- Оптимизируйте и исправляйте медленные MySQL-запросы;
- Проводите аудит серверного программного обеспечения и вовремя обновляйте модули;
- Избегайте проблем с маршрутизацией и отслеживайте любые перегрузки/атаки на сервер.
Ошибка 502 (ERROR 502 Bad Gateway) — это сбой, который свидетельствует о получении некорректного ответа от вышестоящего по иерархии сервера. Простыми словами это получение неправильного ответа, приводящего к невозможности загрузить контент страницы.
Важно: сбой Bad Gateway может появляться как на определенной странице сайта, так и сразу на всех. Но наиболее часто встречается именно первый случай.
Чаще всего возникает по вине хостинга, DNS или прокси-сервера. Логика появления ошибки следующая: файлы публичного веб-сайта всегда располагаются на сервере. Пользовательский клиент (чаще всего, браузер) делает соответствующий запрос, чтобы получить данные из физического сервера и вывести их на пользовательском компьютере. Когда отправить файлы не получается — выводится ошибка с кодом от 500-й до 511-й.
Сам текст ошибки 502 может различаться. Часто встречаются варианты 502 Server Error, Bad Gateway, Temporary Error, HTTP 502 и другие.
Как исправить ошибку 502 вебмастеру: пошаговый алгоритм
Рассмотрим возможные причины и разберем алгоритм исправления источника ошибки.
Недостаток вычислительных ресурсов. Тарифный план хостинга
Если у вас жесткое ограничение производительности на выбранном тарифном плане хостинга, ошибка Bad Gateway может появляться при попытке открыть любую страницу сайта. Особенно часто эта причина встречается при использовании VPS на начальных тарифах.
Что делать?
- Проверьте статическую нагрузку, текущий размер оперативной памяти и размер хранилища для файлов сайта на используемом хостинге.
- Проверьте оперативную память сервера. Чтобы проверить текущий объем оперативной памяти, запустите командую строку сервера, затем укажите команды free -m (либо команду tor).
Недостаток производительности хостинга особенно часто проявляется при аномально высокой посещаемости.
Обратите внимание на параметры total (общий объем памяти), free (свободный объем памяти в данный момент), used (использующийся объем памяти в данный момент).
Если вы видите, что свободной памяти еще много, то причину ошибки нужно искать в другом.
Увеличение лимитов FastCGI
HTTP-сервер Apache настраивается путем размещения директив в текстовых файлах конфигурации. Основной файл конфигурации обычно называется httpd.conf. Его расположение устанавливается во время компиляции, но может быть переопределено флагом командной строки -f.
Проект HTTP-сервера Apache, широко известный как Apache HTTPD или Apache, представляет собой HTTP-сервер с открытым исходным кодом, на котором работает большая часть веб-приложений. Apache HTTPD является кроссплатформенным и может работать в системах на базе Unix и Windows.
Что делать?
- Найдите и отредактируйте файл httpd.conf.
- Измените установленное значение для FastCGI.
- Увеличьте его на 500-600 пунктов.
Обратите внимание: директива клиент-серверного протокола FastCG в конфигурационном файле обозначается как mod_fastcgi:
Глобальные изменения на сайте: обновления, установка плагинов, изменение дизайна или структуры URL
Чтобы диагностировать эту причину, необходимо проверить логи сервера. Кстати, в логах вы также сможете обнаружить и нехватку памяти сервера: такая ошибка называется OOM.
Что делать?
- Найдите файл с логами. Обычно кнопка с доступом к логам сервера есть в административной панели. Самое частое название такого файла — access.log. Если вы не нашли его — напишите в саппорт хостинга. Уточните, что серверные логи нужны вам для решения ошибки.
- Проанализируйте файл с ошибками. Логи сервера с ошибками обычно по умолчанию отправляются в файл error.log
- Ищите значение OOM или другие ошибки. Обязательно обращайте внимание на директиву %s со значением 502 (это и есть код состояния искомой нами ошибки).
Директивы в формате combined выглядят так:
- %s — код состояния HTTP.
- %h — IP-адрес запроса.
- %{User-Agent} — HTTP-заголовок.
- %l — полное название хоста.
- %b — отданные байты.
- %u — пользователь.
- %r — тип и содержимое запроса.
- %t — время запроса.
Cloudflare
Если вы настроили Cloudflare или похожее решение против хакерских атак, попробуйте отключить эту защиту. Часто Bad Gateway ошибка возникает по вине таких сервисов. То же самое можно сказать и о сторонних сетях доставки содержимого (СDN), с которыми соединен ваш сайт.
Что делать?
- Временно отключите Cloudflare.
- Временно отключите CDN (сеть доставки содержимого).
- Проверьте, стала ли доступна проблемная страница. Если да — настройте используемые внешние сервисы так, чтобы они не ограничивали доступ к странице.
Важно: отключение вашего сайта от любых сервисов, которые перенаправляет ваш трафик на собственные сервера (например, тот же CloudFlare) произойдет не сразу, а только через 5-6 часов или даже дольше, так как должно произойти обновление записей DNS.
Конфликт плагинов, проблемы после обновления CMS
Всегда запоминайте (а лучше — записывайте) все изменения, которые вы делаете на сайте. Будь то установка плагина, добавление нового функционала или изменение дизайна страницы. Так вы сможете просто диагностировать источник появления ошибки 502 и сразу перейти к его устранению. Например — удалить конфликтующий плагин через админку используемой CMS.
Откат к исправно работающей версии сайта может стать решением Bad Gateway в ряде случаев.
Как правило, хостинги автоматически создают резервные копии сайтов и баз данных своих пользователей один раз в сутки.
Что делать?
Показываем на на примере хостинга Beget:
- Чтобы откатиться к исправно работающей версии сайта, откройте раздел Backup в панели управления используемого хостинга.
- Чтобы выгрузить файлы (создать бэкап), выберите необходимые файлы, отметив чекбокс слева от них:
- Чтобы восстановить сайт из резервной копии, выберите копию (в Beget «Текущее состояние») и затем кликните по синей стрелке:
- Далее следуйте подсказкам хостинга, чтобы восстановить работоспособность сайта из бэкапа максимально корректно.
Вы можете настроить автоматическое копирование или бэкап по требованию.
Как исправить ошибку 502 пользователю: пошаговый алгоритм
Мы уже отмечали в начале, что источник Bad Gateway чаще всего находится на стороне сервера, поэтому пользователь устранить эту ошибку самостоятельно не сможет.
Но в редких случаях появление сбоя связано с проблемами, которые можно решить. Например, очисткой временных файлов сайта (поможет, если администратор вносил изменения в контент страницы и при этом на сайте настроено кэширование).
Чтобы устранить ошибку, выполните следующие действия:
- Напишите администратору сайта о возникшей проблеме.
- Попробуйте зайти на сайт в то время, когда поток пользователей небольшой (например, очень рано утром или ночью).
- Отключите все плагины / расширения в используемом браузере (в редких случаях они могут приводить к конфликтам). Подтвердить этот источник сбоя поможет просмотр проблемного сайта в режиме инкогнито.
- Очистите DNS-кэш в своей системе. Для этого нужно открыть встроенный в Windows инструмент cmd и прописать команду ipconfig /flushdns:
Все, DNS cache успешно очищен:
- Поменяйте используемый браузер. В очень редких случаях ошибка может появляться, когда сервер не в состоянии передать данные в конкретный браузер.
Резюме: самые частые причины появления ошибки
Итак, можно вывести четыре самых распространенных сценария появления Bad Gateway на сайте:
- Недостаток вычислительных ресурсов. Может проявляться на очень слабых, старых машинах.
- Глобальные изменения на сайте: обновления, установка плагинов, изменение дизайна или структуры ссылок.
- Конфликт плагинов. Проблемы после обновления версии CMS.
- Cloudflare и подобные сервисы + CDN (сеть доставки содержимого).
Найдите свою причину и устраните ее, следуя нашему алгоритму.
Иногда при попытке открыть страницу сайта возникает ошибка 502 Bad Gateway. Это происходит из-за того, что один сервер получает некорректный ответ от другого. Обычно с этим ничего нельзя сделать: проблема находится на стороне сайта. Однако в некоторых случаях дело может быть в вашем компьютере или сетевом оборудовании.
Ошибка 502 Bad Gateway возникает, когда сервер, к которому вы подключены, выступает в роли посредника, передающего информацию от другого сервера, и получает некорректный ответ. 502 — это код состояния HTTP, который использует сервер для описания ошибки.
Некорректные ответы могут поступать нескольким причинам.
- Перегруженность сервера или плохое сетевое соединение между двумя серверами — это может быть временная проблема.
- Неправильно настроенный брандмауэр или ошибка в коде — ситуация не изменится, пока эти проблемы не будут решены.
Сообщение об ошибке 502 выглядит по-разному на каждом сайте, и ее название тоже иногда различается. Например:
- HTTP Error 502 Bad Gateway;
- HTTP 502;
- 502 Service Temporarily Overloaded;
- Temporary Error (502);
- 502 Server Error: The server encountered a temporary error and could not complete your request;
- 502 Bad Gateway Nginx.
В большинстве случаев ошибка происходит на стороне сервера, и вы никак не можете ее исправить. Тем не менее есть несколько способов.
Обновите страницу
Ошибка 502 часто бывает временной, поэтому достаточно просто обновить страницу. В большинстве браузеров сделать это можно с помощью клавиш Ctrl+R (Windows) или Cmd+R (Mac), а также с помощью кнопки «Обновить», расположенной в адресной строке. Этот способ не всегда решает проблему, но попытка займет всего пару секунд.
Проверьте, работает ли сайт у других пользователей
Если вы не смогли получить доступ к сайту (по любой причине), можно проверить, столкнулись ли с такой проблемой другие люди. Для этого есть множество инструментов, например isitdownrightnow.com и downforeveryoneorjustme.com. Оба работают примерно одинаково: вводите адрес сайта, который нужно проверить, и получаете небольшой отчет.
Если сайт недоступен для всех пользователей, то с этим ничего не поделать — повторите попытку позже. Если же сайт работает, то проблема, вероятно, возникла с вашей стороны. В случае с ошибкой 502, это происходит очень редко. Но если это все же случилось, воспользуйтесь советами из следующих разделов.
Перейдите в другой браузер
Проблема, вызвавшая ошибку 502 Bad Gateway, может быть связана с браузером. Как это проверить? Просто воспользуйтесь другой программой — Google Chrome, Mozilla Firefox, Apple Safari или Microsoft Edge. Если ошибка не исчезла, значит, стоит попробовать другое решение.
Очистите кэш и файлы cookie в браузере
Если сайт работает в другом браузере, то основной, вероятно, кэшировал устаревшие или поврежденные файлы, что могло вызвать ошибку 502.
Чтобы это исправить, можно удалить кэш и файлы cookie и снова попытаться запустить сайт.
Проверьте плагины и расширения
Если в браузер добавлены расширения, то одно или несколько из них также могут вызывать ошибку. Попробуйте отключить все расширения и обновить сайт. Если ошибка 502 пропадает, то, вероятно, дело в плагинах. Чтобы обнаружить виновника, попробуйте отключать их поочередно.
Перезапустите устройства
Итак, вы уже выяснили, что сайт доступен для всех, кроме вас, а в другом браузере появляется та же ошибка. Значит, проблема находится на вашей стороне и дело не в браузере. Вполне возможно, что временные проблемы возникли с компьютером или сетевым оборудованием (Wi-Fi, роутер, модем и т. д.). Чтобы это исправить, можно попробовать перезапустить устройства.
Измените DNS-сервер
Иногда ошибку 502 вызывают проблемы с DNS-сервером. Можно попробовать его изменить — это не сложно. Как правило, DNS-сервер устанавливается интернет-провайдером. Вы можете изменить его на сторонний DNS-сервер, например OpenDNS или Google DNS.
Источник.