Битрикс ошибка 502 плохой шлюз

Upstream prematurely closed connection while reading response header from upstream

У меня установлено битрикс окружение. Частенько начала вылетать ошибка bitrix 502 bad gateway. Посмотрел логи nginx(/var/log/nginx/site_error.log). Там фигурирует одна и таже ошибка upstream prematurely closed connection while reading response header from upstream. Эта ошибка появляется тогда, когда страница генерируется больше времени, чем установленный timeout front-end’a. Обычно она возникает когда nginx отправляет запросы дальше на apache По умолчанию эти таймауты — 60 секунд. Поставим 180 (эти параметры прописываются в etcnginxnginx.conf):

proxy_send_timeout 180s;
proxy_read_timeout 180s;
  • На Centos конфиг nginx хранится здесь etcnginxnginx.conf
  • Логи nginx храниятся здесь /var/log/nginx/site_error.log

Мне помогло это избавиться от 502 ошибки в bitrix

ЗЫ: Буква ‘s’ — обязательна. Без неё ошибок не будет, но и значения не будут учитываться.

502 Bad Gateway, это отсутствие ответа nginx от httpd(apache, читай php) за положенное время, может быть множество причин приводящих к сему — и проблемы сервера/хостинга(нехватка ресурсов, недостаточное выделение оных, список может быть длинным) и ошибки разработки сайтов, например одновременно срабатывает несколько агентов с запуском ресурсоемких задач, или есть страницы создающиеся по 10-30 сек, которые нашел робот и рассказал друзьям. В анализе могут помочь google, команда top или htop, просмотр логов httpd с уровнем логирования debug, просмотр состояния httpd в /server-status(нужно разрешить), отключение агентов, общение с разработчиками сайтов с применением сильных мотиваторов пр.

Если нет опыта/времени/желания разобраться, а денег нанять админа нет или нуу все равно нет, то можно купировать проблему(чревато):
— Как только висяк — в консоли service httpd restart, рестарт апача приведет к завершению работы всех его процессов и скорее всего прибьет проблемный.
— Попробовать уменьшить MaxRequestsPerChild на один нолик, текущее значение можно посмотреть в /etc/httpd/bx/conf/prefork.conf а новое задать в /etc/httpd/bx/custom/z_bx_custom.conf, это позволит завершать процессы апача и стартовать новые чаще, в итоге все процессы будут потреблять меньше памяти, но периоде время отклика сайтов увеличится.  

Довольно часто при установке 1С-Битрикс: Веб-окружение вылезает либо 502 Bad Gateway, либо пишется, что в соединении отказано. Разумеется, если Вы создали сайты через меню и правильно прописали DNS.

Причина кроется в неправильно сконфигурированных веб-серверах, которые установлены на сервере — это Nginx и Apache.

В случае, когда работает Nginx и не работает Apache, вы получаете ошибку 502, а когда не работает Nginx или даже оба сразу — Вы наблюдаете connection refused.

Залезаем на сервер (у меня стоит ОС CentOS, у владельцев debian-based папка с apache называется apache2), смотрим файлы логов.
Находятся они по адресу /var/log/httpd/ для Apache и /var/log/nginx/ для Nginx

Смотрим файл с названием error.log

И тот, и другой выдают одну и ту же ошибку: cannot allocate memory ровно столько раз, сколько я пытался запустить эти сервисы командами

service httpd start

и

service nginx start

.

Быстрое решение проблемы

mmap — это POSIX средство для разделения совместных ресурсов. Cannot allocate memory означает, что невозможно выделить заданное программами количество памяти ввиду отсутствия железно свободной памяти, которая занята процессами системы, разделённой областью и самими службами.

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

Итак, для тех, кто любит быстрые решения:

Проблема заключается в двух модулях: OPCache и push_stream, а также необходимо будет поднастроить количество запускаемых серверов Apache

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

Настройка Nginx

Заходим в файл /etc/nginx/bx/conf/im_settings.conf

Там находим строку

push_stream_shared_memory_size ------ <некое число>M

Уменьшаем в несколько раз это число, сохраняем результат

Пробуем запустить nginx командой

service nginx start

и последующей за ней

service nginx status

если кажется, что всё ОК.

Если не запускается — пробуем ещё уменьшить число.

В моём случае число нужно было заменить на 16. Для кого-то это число может быть 64, а для кого-то — 4

В конечном итоге работаем на результат =)

Настройка Apache

Теперь займёмся Apache.

Вводим команду

nproc

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

На моём тестовом сервере всего одно ядро.

Заходим в файл /etc/httpd/bx/conf/prefork.conf
Ставим StartServers равным нашему количеству ядер.

Остальные настройки можно уменьшить примерно в той степени, как и startservers.

Мои настройки Вы можете посмотреть на картинке.

Далее заходим в файл /etc/php.d/opcache.ini

Там находим строку

opcache.memory_consumption = <некое число>M

В моём случае число 124 (откуда такое «ровное» число — чёрт его знает) нужно было заменить на 16. Опять же, для кого-то этого будет недостаточно и необходимо будет уменьшить больше.

В конечном итоге, после метода проб и ошибок, у Вас должна сработать команда
service httpd start и отобразиться волшебное

httpd (pid ####) is running

После запуска обеих служб вы получите работающую страницу

То, что делать необязательно

Теперь можем закинуть bitrix_server_test.php в /home/bitrix/www/ и проверить, на чём свет стоит.

НАПОМИНАЮ! (об этом подробнее говорилось в статье Виктора Тарана), что в этой папке должна быть заглушка индексной страницы и никакого рабочего сайта, так как весь мусор собирается именно сюда.

Запускаем файл — ваш_ip/bitrix_server_test.php и смотрим, насколько хорошо всё устроено.

А для того, чтобы разобраться подробнее, что за файлы мы трогали и что это за модули — будет написана пара статей в обозримом будущем.

ЛогоОшибка 502 Bad Gateway – что это значит? Дословно фраза переводится с английского на русский как плохой или неверный шлюз. Это уведомление означает проблемы с соединением. Неисправности могут скрываться как на стороне пользователя, так и на стороне сервера. В большинстве случаев ошибки с номерами 500, 502, 503, 504 указывают на поломки самого сайта, но изредка пользователь может проблему самостоятельно. Разберемся, что делать в подобной ситуации и, как это исправить.

Содержание

  1. Виды ошибки
  2. Проверка доступа к интернету
  3. Очистка кэша и cookie
  4. Очистка кэша DNS
  5. Режим инкогнито в браузере
  6. Если ничего не помогает?
  7. Проблемы со стороны веб-сервиса
  8. Видеоинструкция
  9. Заключение

Виды ошибки

Появляться данное сообщение может в разных формулировках. Все зависит от используемого хостинга. При отсутствии доступа к сайту вы можете наблюдать следующие вариации ошибки:

  • 502 Proxy Error;
  • Temporary Error;
  • 502 Bad Gateway nginx/x.x.x (где X – это версия сервера);
  • 502 Bad Gateway/Bitrix Environment (при работе с «Битрикс»);
  • 502 (выскакивает при ошибках в сервисах Google);
  • HTTP Error 502 и другие.

Ошибка

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

Проверка доступа к интернету

Первым делом посмотрите, не появляется ли ошибка при переходе на другие сайты. Для этого попробуйте зайти на любой ресурс. Можно тестировать на поисковике «Гугл», социальных сетях или других сайтах, которые вы посещаете чаще всего. Лучше всего посещать федеральные порталы, доступ к которым не должен быть ограничен в любых ситуациях.

Проверка доступа в сеть

Второй способ проверки – это тестирование другого браузера. Если ошибка устранилась, это значит, что проблема на стороне вашего основного браузера. Попробуйте переустановить или обновить программу.

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

Очистка кэша и cookie

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

В большинстве браузеров работает комбинация клавиш [knopka]Ctrl[/knopka]+[knopka]Shift[/knopka]+[knopka]Del[/knopka]. С ее помощью осуществляется переход в окно настроек для очистки истории и cookie. При работе с Google Chrome необходимо перевести временной диапазон в положение «Все время». Также обязательно ставьте галочки возле отмеченных пунктов. После этого нажмите на кнопку «Удалить данные»:

Удалить данные

Яндекс.Браузер имеет практически аналогичное окно для очистки истории. Здесь также нужно указать пункт «За все время», выбрать очистку кэша и файлов cookie:

За все время

Браузер Opera тоже поддерживает данную комбинацию клавиш. При нажатии открывается следующее окно. Во вкладке «Основные» выбирается временной диапазон и отмечаются все пункты:

Основные

Mozilla Firefox открывает отдельное окно с функциями очистки. Выставляем настройки со скриншота и жмем на кнопку «Удалить сейчас»:

Удалить сейчас

Окно очистки в стандартном браузере Windows (Microsoft Edge) выглядит следующим образом:

Microsoft Edge

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

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

  1. Открываем командную строку с администраторскими правами. Сделать это можно через поиск в меню «Пуск».

Запуск командной строки

  1. Теперь вводим [kod]ipconfig /flushdns[/kod] и запускаем выполнение.

ipconfig flushdns

  1. Если очистка выполнена успешно, вы увидите соответствующее сообщение.

Успешная очистка DNS

Режим инкогнито в браузере

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

Запускается данный режим с помощью комбинации клавиш [knopka]Ctrl[/knopka]+[knopka]Shift[/knopka]+[knopka]N[/knopka] в браузерах Google Chrome и Opera.  А в Яндекс.Браузере, Mozilla Firefox и Microsoft Edge используется [knopka]Ctrl[/knopka]+[knopka]Shift[/knopka]+[knopka]P[/knopka].

Мнение эксперта

Василий

Руководитель проекта, эксперт по модерированию комментариев.

Задать вопрос

Если ни один из перечисленных методов не помогает, то попробуйте перезагрузить оборудование (ПК, роутер/модем).

Если ничего не помогает?

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

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

Ошибка 520

Проблемы со стороны веб-сервиса

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

  • Перегруженность серверов. Случается в тех ситуациях, когда количество заходов на сайт превышает допустимое значение. При росте популярности портала потребуется смена хостинга на более надежный.
  • Разрыв связи между серверами. Например, если сервер-источник nginx находится на одном сервисе, а обратный прокси-сервер (Apache/PHP-FPM и прочее) на другом. Необходимо проверить пинг и убедиться в стабильности соединения.
  • Большой код, огромное количество плагинов и надстроек. Эта причина характерна для WordPress или других виртуальных хостингов.
  • Плохой код сайта и оптимизация.

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

Видеоинструкция

Обязательно ознакомьтесь с представленным роликом. В нем наглядно разбираются все способы решения проблемы.

Заключение

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

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

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

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

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

Ошибка 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 появляется после внесения изменений или обновления. Определить это очень просто, нужно лишь проверить журнал ошибок. В CMS WordPress можно включить запись возникающих ошибок, добавив в файл wp-config.php вот такие строки:

define( 'WP_DEBUG', true );

define( 'WP_DEBUG_LOG', true );

define( 'WP_DEBUG_DISPLAY', false );

После этого все записи начнут отображаться в файле debug.log. Храниться он будет в директории wp-content. Понадобится некоторое время, чтобы причины ошибок были записаны. Потом можно тщательно изучить записи и уже на основе их предпринимать конкретные изменения.

Проверка плагинов

Следует проверить, не влияют ли какие-либо плагины на работу сайта. Для этого можно поочередно отключать их, просто переименовывая папку интересующего плагина. Для этого надо выделить папку, затем нажать на меню «Файл» и в нем выбрать пункт «Переименовать».

Отключение плагина в WordPress путем переименования папки

Проверка сети CDN

Сети CDN и службы предотвращения DoS тоже могут влиять на работу сайта. Обычно виновник проблемы указывается на странице с кодом ошибки. Например, если под кодом 502 Bad Gateway есть строка cloudflare-nginx, значит, для исправления ошибки надо обратиться в службу поддержки CloudFlare. Можно отключить данный сервис, но потом придется долго ждать обновления DNS (это может занять несколько часов).

Один их вариантов отображения ошибки 502 Bad Gateway

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

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

  2. Большое количество посетителей одновременно. Веб-ресурс может посещать ограниченное количество посетителей. Сколько человек может посетить сайт зависит от возможностей сервера (размера оперативной памяти) и настроек, которые сделал создатель ресурса. Если по какой-либо причине на сайт зайдёт больше пользователей, чем запланировано, сервис может не справиться и страница выдаст код 502. Такое случается при рекламных акциях и распродажах в интернет-магазинах.
  3. Атака хакеров или DDoS-атака. Эта проблема связана с предыдущей причиной перегрузки. Хакер имитирует большой наплыв пользователей, из-за чего сервер выходит из строя. Такие атаки могут быть использованы для снижения продаж.
  4. Плохая оптимизация сайта. Настройки ресурса сделаны так, что маленькое количество посетителей генерирует много запросов. В этом случае нужно оптимизировать работу сервера с пользовательскими запросами.
  5. Второй причиной возникновения кода 502 могут явиться ошибки РНР. Если для расширения функционала сайта в панель управления были добавлены некорректно настроенные плагины, они могут выдавать проблемы в своей работе. Вместе с ними ошибку покажет и сайт целиком. Также если код сайта написан неправильно, запросы могут давать отрицательный результат.
  6. Ошибка браузера. Проблема может быть на стороне пользователя, если у него установлены расширения, которые нарушают соединение с сервером сайта.

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

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

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

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

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


Как очистить кэш DNS

В зависимости от вашей операционной системы очистите кэш по одной из инструкций.

  1. Откройте командную строку. Для этого введите в поисковую строку «Командная строка» и выберите появившееся приложение:
  1. Введите команду:

ipconfig /flushdns

  1. Дождитесь сообщения об очистке кэша:
  1. Откройте терминал клавишами Ctrl+Alt+T.
  2. Введите команду:

Для Ubuntu:

sudo service network-manager restart

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

sudo /etc/init.d/nscd restart

  1. Войдите в терминал. Для этого нажмите клавиши Command + Space. Введите Терминал и нажмите на найденное приложение.
  2. Введите команду:

sudo killall -HUP mDNSResponder

Готово, вы очистили кеш DNS. Попробуйте заново зайти на сайт.

Что делать, если вы владелец сайта

Проверьте количество свободной памяти. Это можно сделать двумя способами.

Способ 1 ― введите команду top в командной строке сервера:

Mem ― вся оперативная память.

Swap ― раздел подкачки.

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

Способ 2 ― введите команду free -m.

Mem ― вся оперативная память.

Swap ― раздел подкачки.

В строке Memfree показано свободное место на сервере. Если там маленькое число, увеличьте количество оперативной памяти.

Проверьте логи сервера. Если проблема возникла в момент каких-либо обновлений на сайте, проверьте журнал изменений, чтобы отменить те доработки, которые нарушили функциональность сервера. Также в логах можно увидеть DDos-атаку. Если дело в нехватке памяти, в логах отобразится ошибка OOM (out of memory).

Проверьте плагины в WordPress. Если ваш сайт создан на WordPress, некоторые плагины и темы могут нарушать работу сервера.

  1. 1.

    Войдите в панель управления WordPress. Если вы пользуетесь услугой REG.Site, войти в панель управления CMS можно прямо из Личного кабинета.

  2. 2.

    Перейдите во вкладку «Плагины» ― «Установленные».

  3. 3.

    Нажмите Деактивировать у плагина, который, как вам кажется, повлиял на работу сайта:

Можно сразу отключить все плагины, чтобы убедиться, что один из них влияет на работу сервера. И далее по очереди включайте плагины, пока не найдёте конкретный плагин-виновник.

Проверьте, как работают вспомогательные службы, например MySQL и Memcached. Иногда они могут стать причиной 502 ошибки.

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


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

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

  1. Точное московское время наблюдения проблемы.
  2. Название сайта, на котором была замечена проблема.
  3. Если ошибка отображается не сразу, а после определённых действий (добавление изображения, отправка формы с сайта, импорт файлов), подробно опишите порядок действий, по которому мы сможем воспроизвести проблему.
  4. Если для воспроизведения проблемы необходимо авторизоваться в административной части сайта, предоставьте логин и пароль для доступа.


Сайт находится на 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, обратитесь в техподдержку. В заявке укажите:

  1. Точное московское время наблюдения проблемы.
  2. Название сайта, на котором была замечена проблема.
  3. Если ошибка отображается не сразу, а после определённых действий (добавление изображения, отправка формы с сайта, импорт файлов), подробно опишите порядок действий, по которому мы сможем воспроизвести проблему.
  4. Если для воспроизведения проблемы необходимо авторизоваться в административной части сайта, предоставьте логин и пароль для доступа.

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

502 bad gateway — что это за ошибка? Ошибка 502 Bad Gateway может проявляться по-разному. К примеру, 502 – Service Temporarily Overloaded или HTTP Error 502 Bad Gateway.

Ошибка 502 bad gateway — что это значит?

Ошибка 502 bad gateway - что это значит?

Ошибка 502 bad gateway говорит о том, что обратный прокси-сервер (допустим, Apache) для сервера источника (например, nginx) получает некорректный ответ от исходного веб-сервера.

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

  1. Перегруженность сервера. Веб-сервер может падать из-за нехватки ресурсов (например, оперативной памяти), вызываемой избытком выполняемых процессов или агрессивными действиями пользователей;
  2. Частая перезагрузка веб-сервера. Такое случается при ошибках конфигурации, сбоях в модулях, любых атаках, избытке выполняемых процессов и приложений. В результате пользователь видит временную 502 ошибку;
  3. Плохой код сайта. Сайты с устаревшими приложениями или корявым кодом влияют на правильное функционирование сервера и ведут к периодическому возникновению 502 ошибки;
  4. Ошибки сети. Прочие ошибки конфигурации сети (проблемы с DNS, маршрутизация, блокировка файерволом, используемым на сервере, проблемы у провайдера) также становятся причиной появления 502 ошибки сервера;
  5. Время ожидания серверного программного обеспечения. 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 на виртуальном хостинге «Bad Gateway»

Ошибка 502 возникает когда Apache работает в связке с Nginx. Запрос от пользователя прошел через NGINX к Apache но тот в свою очередь вернул нулевой результат прокси-серверу NGINX.

Причины возникновения и способы устранения ошибки 502:

  • Дочерний процесс Apache не смог обработать поступивший к нему запрос и завершился досрочно. Зачастую это связано с ошибкой в скрипте сайта или нехваткой памяти для выполнения процесса. Начните свой поиск error 502, в таком случае с логов ошибок сайта. Вполне возможно там будет информация, которая привела к возникновению этой ошибки. Но зачастую лог не содержит ничего полезного по этой проблеме, поскольку процесс Apache завершился досрочно. Если это так, разбейте свой скрипт на участки, и выполняйте их поочередно. Это должно помочь найти 502 error. В другом случае, вы можете самостоятельно завершить работу зависших обработчиков и перезапустить их, подробнее см. Завершение работы процессов
  • Процесс Apache завершился по таймауту и не вернул в поток вывода никаких данных. Обычно это связано с длительным выполнением скрипта, либо зацикливанием в нем. Чтоб не получать 502 bad gateway, когда скрипт выполняется длительное время, лучше его запускать из консоли, а в случае если скрипт запускается регулярно, поставить его на CRON. 
  • Скрипты сайта превышают ограничения, накладываемые на них условиями нашего хостинга, и автоматически завершаются. Для устранения ошибки достаточно провести оптимизацию ваших скриптов. 
  • При использовании CMS Bitrix ошибка может возникать из-за некорректного названия директории для хранения кэшированных файлов. Проблема решается переименованием данной директории. 
  • Ошибка при включенном APC (Alternative PHP Cache). Проблема решается отключением APC при помощи добавления в файл .htaccess вашего сайта следующей строки: php_flag apc.cache_by_default Off 
  • Технический сбой на сервере. Проблема максимально быстро диагностируется нашими специалистами и оперативно устраняется.

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

Если 502 ошибка возникает регулярно, напишите заявку в службу поддержкиВ заявке укажите:

  • Точное московское время наблюдения проблемы.
  • Название сайта, на котором была замечена проблема.
  • Если ошибка отображается не сразу, а после определённых действий (добавление изображения, отправка формы с сайта, импорт файлов), подробно опишите порядок действий, по которому мы сможем воспроизвести проблему.
  • Если для воспроизведения проблемы необходимо авторизоваться в административной части сайта, предоставьте логин и пароль для доступа.

Ошибка 502 на VPS

Чаще всего на VPS используется связка: Nginx + бэкенд-сервер (Apache, PHP-FPM, Gunicorn, NodeJS). Ошибка 502 возникает в случае, если Nginx не может получить ответ от этих сервисов. 

Наиболее частые причины возникновения 502 ошибки: 

  • Какой-то из сервисов выключен. Необходимо перезапустить веб-сервер Apache, PHP-FPM либо другой сервис, с которым работает Nginx.
  • Между Nginx и бэкенд-сервером некорректно настроена связь. Например, Nginx производит обращение к порту 8080, а веб-сервер Apache «слушает» на 8081. В этом случае необходимо скорректировать настройки веб-сервера. 

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

Довольно часто при установке 1С-Битрикс: Веб-окружение вылезает либо 502 Bad Gateway, либо пишется, что в соединении отказано. Разумеется, если Вы создали сайты через меню и правильно прописали DNS.

Причина кроется в неправильно сконфигурированных веб-серверах, которые установлены на сервере — это Nginx и Apache.

В случае, когда работает Nginx и не работает Apache, вы получаете ошибку 502, а когда не работает Nginx или даже оба сразу — Вы наблюдаете connection refused.

Залезаем на сервер (у меня стоит ОС CentOS, у владельцев debian-based папка с apache называется apache2), смотрим файлы логов.
Находятся они по адресу /var/log/httpd/ для Apache и /var/log/nginx/ для Nginx

Смотрим файл с названием error.log

И тот, и другой выдают одну и ту же ошибку: cannot allocate memory ровно столько раз, сколько я пытался запустить эти сервисы командами

service httpd start

и

service nginx start

.

Быстрое решение проблемы

mmap — это POSIX средство для разделения совместных ресурсов. Cannot allocate memory означает, что невозможно выделить заданное программами количество памяти ввиду отсутствия железно свободной памяти, которая занята процессами системы, разделённой областью и самими службами.

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

Итак, для тех, кто любит быстрые решения:

Проблема заключается в двух модулях: OPCache и push_stream, а также необходимо будет поднастроить количество запускаемых серверов Apache

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

Настройка Nginx

Заходим в файл /etc/nginx/bx/conf/im_settings.conf

Там находим строку

push_stream_shared_memory_size ------ <некое число>M

Уменьшаем в несколько раз это число, сохраняем результат

Пробуем запустить nginx командой

service nginx start

и последующей за ней

service nginx status

если кажется, что всё ОК.

Если не запускается — пробуем ещё уменьшить число.

В моём случае число нужно было заменить на 16. Для кого-то это число может быть 64, а для кого-то — 4

В конечном итоге работаем на результат =)

Настройка Apache

Теперь займёмся Apache.

Вводим команду

nproc

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

На моём тестовом сервере всего одно ядро.

Заходим в файл /etc/httpd/bx/conf/prefork.conf
Ставим StartServers равным нашему количеству ядер.

Остальные настройки можно уменьшить примерно в той степени, как и startservers.

Мои настройки Вы можете посмотреть на картинке.

Далее заходим в файл /etc/php.d/opcache.ini

Там находим строку

opcache.memory_consumption = <некое число>M

В моём случае число 124 (откуда такое «ровное» число — чёрт его знает) нужно было заменить на 16. Опять же, для кого-то этого будет недостаточно и необходимо будет уменьшить больше.

В конечном итоге, после метода проб и ошибок, у Вас должна сработать команда
service httpd start и отобразиться волшебное

httpd (pid ####) is running

После запуска обеих служб вы получите работающую страницу

То, что делать необязательно

Теперь можем закинуть bitrix_server_test.php в /home/bitrix/www/ и проверить, на чём свет стоит.

НАПОМИНАЮ! (об этом подробнее говорилось в статье Виктора Тарана), что в этой папке должна быть заглушка индексной страницы и никакого рабочего сайта, так как весь мусор собирается именно сюда.

Запускаем файл — ваш_ip/bitrix_server_test.php и смотрим, насколько хорошо всё устроено.

А для того, чтобы разобраться подробнее, что за файлы мы трогали и что это за модули — будет написана пара статей в обозримом будущем.

ЛогоОшибка 502 Bad Gateway – что это значит? Дословно фраза переводится с английского на русский как плохой или неверный шлюз. Это уведомление означает проблемы с соединением. Неисправности могут скрываться как на стороне пользователя, так и на стороне сервера. В большинстве случаев ошибки с номерами 500, 502, 503, 504 указывают на поломки самого сайта, но изредка пользователь может проблему самостоятельно. Разберемся, что делать в подобной ситуации и, как это исправить.

Содержание

  1. Виды ошибки
  2. Проверка доступа к интернету
  3. Очистка кэша и cookie
  4. Очистка кэша DNS
  5. Режим инкогнито в браузере
  6. Если ничего не помогает?
  7. Проблемы со стороны веб-сервиса
  8. Видеоинструкция
  9. Заключение

Виды ошибки

Появляться данное сообщение может в разных формулировках. Все зависит от используемого хостинга. При отсутствии доступа к сайту вы можете наблюдать следующие вариации ошибки:

  • 502 Proxy Error;
  • Temporary Error;
  • 502 Bad Gateway nginx/x.x.x (где X – это версия сервера);
  • 502 Bad Gateway/Bitrix Environment (при работе с «Битрикс»);
  • 502 (выскакивает при ошибках в сервисах Google);
  • HTTP Error 502 и другие.

Ошибка

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

Проверка доступа к интернету

Первым делом посмотрите, не появляется ли ошибка при переходе на другие сайты. Для этого попробуйте зайти на любой ресурс. Можно тестировать на поисковике «Гугл», социальных сетях или других сайтах, которые вы посещаете чаще всего. Лучше всего посещать федеральные порталы, доступ к которым не должен быть ограничен в любых ситуациях.

Проверка доступа в сеть

Второй способ проверки – это тестирование другого браузера. Если ошибка устранилась, это значит, что проблема на стороне вашего основного браузера. Попробуйте переустановить или обновить программу.

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

Очистка кэша и cookie

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

В большинстве браузеров работает комбинация клавиш [knopka]Ctrl[/knopka]+[knopka]Shift[/knopka]+[knopka]Del[/knopka]. С ее помощью осуществляется переход в окно настроек для очистки истории и cookie. При работе с Google Chrome необходимо перевести временной диапазон в положение «Все время». Также обязательно ставьте галочки возле отмеченных пунктов. После этого нажмите на кнопку «Удалить данные»:

Удалить данные

Яндекс.Браузер имеет практически аналогичное окно для очистки истории. Здесь также нужно указать пункт «За все время», выбрать очистку кэша и файлов cookie:

За все время

Браузер Opera тоже поддерживает данную комбинацию клавиш. При нажатии открывается следующее окно. Во вкладке «Основные» выбирается временной диапазон и отмечаются все пункты:

Основные

Mozilla Firefox открывает отдельное окно с функциями очистки. Выставляем настройки со скриншота и жмем на кнопку «Удалить сейчас»:

Удалить сейчас

Окно очистки в стандартном браузере Windows (Microsoft Edge) выглядит следующим образом:

Microsoft Edge

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

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

  1. Открываем командную строку с администраторскими правами. Сделать это можно через поиск в меню «Пуск».

Запуск командной строки

  1. Теперь вводим [kod]ipconfig /flushdns[/kod] и запускаем выполнение.

ipconfig flushdns

  1. Если очистка выполнена успешно, вы увидите соответствующее сообщение.

Успешная очистка DNS

Режим инкогнито в браузере

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

Запускается данный режим с помощью комбинации клавиш [knopka]Ctrl[/knopka]+[knopka]Shift[/knopka]+[knopka]N[/knopka] в браузерах Google Chrome и Opera.  А в Яндекс.Браузере, Mozilla Firefox и Microsoft Edge используется [knopka]Ctrl[/knopka]+[knopka]Shift[/knopka]+[knopka]P[/knopka].

Мнение эксперта

Василий

Руководитель проекта, эксперт по модерированию комментариев.

Задать вопрос

Если ни один из перечисленных методов не помогает, то попробуйте перезагрузить оборудование (ПК, роутер/модем).

Если ничего не помогает?

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

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

Ошибка 520

Проблемы со стороны веб-сервиса

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

  • Перегруженность серверов. Случается в тех ситуациях, когда количество заходов на сайт превышает допустимое значение. При росте популярности портала потребуется смена хостинга на более надежный.
  • Разрыв связи между серверами. Например, если сервер-источник nginx находится на одном сервисе, а обратный прокси-сервер (Apache/PHP-FPM и прочее) на другом. Необходимо проверить пинг и убедиться в стабильности соединения.
  • Большой код, огромное количество плагинов и надстроек. Эта причина характерна для WordPress или других виртуальных хостингов.
  • Плохой код сайта и оптимизация.

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

Видеоинструкция

Обязательно ознакомьтесь с представленным роликом. В нем наглядно разбираются все способы решения проблемы.

Заключение

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

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

Файлы любого сайта находятся на физическом сервере. Чтобы их получить и отобразить веб-ресурс на компьютере, браузер делает запрос на сервер. Если он по какой-либо причине не передал файлы, появляется ошибка 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. Первая и основная причина ― перегрузка сервера. Перегрузка может быть вызвана несколькими проблемами:

  2. Большое количество посетителей одновременно. Веб-ресурс может посещать ограниченное количество посетителей. Сколько человек может посетить сайт зависит от возможностей сервера (размера оперативной памяти) и настроек, которые сделал создатель ресурса. Если по какой-либо причине на сайт зайдёт больше пользователей, чем запланировано, сервис может не справиться и страница выдаст код 502. Такое случается при рекламных акциях и распродажах в интернет-магазинах.
  3. Атака хакеров или DDoS-атака. Эта проблема связана с предыдущей причиной перегрузки. Хакер имитирует большой наплыв пользователей, из-за чего сервер выходит из строя. Такие атаки могут быть использованы для снижения продаж.
  4. Плохая оптимизация сайта. Настройки ресурса сделаны так, что маленькое количество посетителей генерирует много запросов. В этом случае нужно оптимизировать работу сервера с пользовательскими запросами.
  5. Второй причиной возникновения кода 502 могут явиться ошибки РНР. Если для расширения функционала сайта в панель управления были добавлены некорректно настроенные плагины, они могут выдавать проблемы в своей работе. Вместе с ними ошибку покажет и сайт целиком. Также если код сайта написан неправильно, запросы могут давать отрицательный результат.
  6. Ошибка браузера. Проблема может быть на стороне пользователя, если у него установлены расширения, которые нарушают соединение с сервером сайта.

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

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

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

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

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


Как очистить кэш DNS

В зависимости от вашей операционной системы очистите кэш по одной из инструкций.

  1. Откройте командную строку. Для этого введите в поисковую строку «Командная строка» и выберите появившееся приложение:
  1. Введите команду:

ipconfig /flushdns

  1. Дождитесь сообщения об очистке кэша:
  1. Откройте терминал клавишами Ctrl+Alt+T.
  2. Введите команду:

Для Ubuntu:

sudo service network-manager restart

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

sudo /etc/init.d/nscd restart

  1. Войдите в терминал. Для этого нажмите клавиши Command + Space. Введите Терминал и нажмите на найденное приложение.
  2. Введите команду:

sudo killall -HUP mDNSResponder

Готово, вы очистили кеш DNS. Попробуйте заново зайти на сайт.

Что делать, если вы владелец сайта

Проверьте количество свободной памяти. Это можно сделать двумя способами.

Способ 1 ― введите команду top в командной строке сервера:

Mem ― вся оперативная память.

Swap ― раздел подкачки.

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

Способ 2 ― введите команду free -m.

Mem ― вся оперативная память.

Swap ― раздел подкачки.

В строке Memfree показано свободное место на сервере. Если там маленькое число, увеличьте количество оперативной памяти.

Проверьте логи сервера. Если проблема возникла в момент каких-либо обновлений на сайте, проверьте журнал изменений, чтобы отменить те доработки, которые нарушили функциональность сервера. Также в логах можно увидеть DDos-атаку. Если дело в нехватке памяти, в логах отобразится ошибка OOM (out of memory).

Проверьте плагины в WordPress. Если ваш сайт создан на WordPress, некоторые плагины и темы могут нарушать работу сервера.

  1. 1.

    Войдите в панель управления WordPress. Если вы пользуетесь услугой REG.Site, войти в панель управления CMS можно прямо из Личного кабинета.

  2. 2.

    Перейдите во вкладку «Плагины» ― «Установленные».

  3. 3.

    Нажмите Деактивировать у плагина, который, как вам кажется, повлиял на работу сайта:

Можно сразу отключить все плагины, чтобы убедиться, что один из них влияет на работу сервера. И далее по очереди включайте плагины, пока не найдёте конкретный плагин-виновник.

Проверьте, как работают вспомогательные службы, например MySQL и Memcached. Иногда они могут стать причиной 502 ошибки.

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


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

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

  1. Точное московское время наблюдения проблемы.
  2. Название сайта, на котором была замечена проблема.
  3. Если ошибка отображается не сразу, а после определённых действий (добавление изображения, отправка формы с сайта, импорт файлов), подробно опишите порядок действий, по которому мы сможем воспроизвести проблему.
  4. Если для воспроизведения проблемы необходимо авторизоваться в административной части сайта, предоставьте логин и пароль для доступа.


Сайт находится на 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, обратитесь в техподдержку. В заявке укажите:

  1. Точное московское время наблюдения проблемы.
  2. Название сайта, на котором была замечена проблема.
  3. Если ошибка отображается не сразу, а после определённых действий (добавление изображения, отправка формы с сайта, импорт файлов), подробно опишите порядок действий, по которому мы сможем воспроизвести проблему.
  4. Если для воспроизведения проблемы необходимо авторизоваться в административной части сайта, предоставьте логин и пароль для доступа.

Ошибка 502 на виртуальном хостинге «Bad Gateway»

Ошибка 502 возникает когда Apache работает в связке с Nginx. Запрос от пользователя прошел через NGINX к Apache но тот в свою очередь вернул нулевой результат прокси-серверу NGINX.

Причины возникновения и способы устранения ошибки 502:

  • Дочерний процесс Apache не смог обработать поступивший к нему запрос и завершился досрочно. Зачастую это связано с ошибкой в скрипте сайта или нехваткой памяти для выполнения процесса. Начните свой поиск error 502, в таком случае с логов ошибок сайта. Вполне возможно там будет информация, которая привела к возникновению этой ошибки. Но зачастую лог не содержит ничего полезного по этой проблеме, поскольку процесс Apache завершился досрочно. Если это так, разбейте свой скрипт на участки, и выполняйте их поочередно. Это должно помочь найти 502 error. В другом случае, вы можете самостоятельно завершить работу зависших обработчиков и перезапустить их, подробнее см. Завершение работы процессов
  • Процесс Apache завершился по таймауту и не вернул в поток вывода никаких данных. Обычно это связано с длительным выполнением скрипта, либо зацикливанием в нем. Чтоб не получать 502 bad gateway, когда скрипт выполняется длительное время, лучше его запускать из консоли, а в случае если скрипт запускается регулярно, поставить его на CRON. 
  • Скрипты сайта превышают ограничения, накладываемые на них условиями нашего хостинга, и автоматически завершаются. Для устранения ошибки достаточно провести оптимизацию ваших скриптов. 
  • При использовании CMS Bitrix ошибка может возникать из-за некорректного названия директории для хранения кэшированных файлов. Проблема решается переименованием данной директории. 
  • Ошибка при включенном APC (Alternative PHP Cache). Проблема решается отключением APC при помощи добавления в файл .htaccess вашего сайта следующей строки: php_flag apc.cache_by_default Off 
  • Технический сбой на сервере. Проблема максимально быстро диагностируется нашими специалистами и оперативно устраняется.

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

Если 502 ошибка возникает регулярно, напишите заявку в службу поддержкиВ заявке укажите:

  • Точное московское время наблюдения проблемы.
  • Название сайта, на котором была замечена проблема.
  • Если ошибка отображается не сразу, а после определённых действий (добавление изображения, отправка формы с сайта, импорт файлов), подробно опишите порядок действий, по которому мы сможем воспроизвести проблему.
  • Если для воспроизведения проблемы необходимо авторизоваться в административной части сайта, предоставьте логин и пароль для доступа.

Ошибка 502 на VPS

Чаще всего на VPS используется связка: Nginx + бэкенд-сервер (Apache, PHP-FPM, Gunicorn, NodeJS). Ошибка 502 возникает в случае, если Nginx не может получить ответ от этих сервисов. 

Наиболее частые причины возникновения 502 ошибки: 

  • Какой-то из сервисов выключен. Необходимо перезапустить веб-сервер Apache, PHP-FPM либо другой сервис, с которым работает Nginx.
  • Между Nginx и бэкенд-сервером некорректно настроена связь. Например, Nginx производит обращение к порту 8080, а веб-сервер Apache «слушает» на 8081. В этом случае необходимо скорректировать настройки веб-сервера. 

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

05.11.2016

Ошибка 502 и как с ней бороться

Поискав информацию в интернете, я выяснил, что ошибка 502 (502 Bad Gateway) это ошибка на стороне сервера и никак не связана с браузером пользователя, как пишут на многих ресурсах.

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

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

proxy_buffer_size 16k;
proxy_buffers 16 16k;

Делается это в блоке server конфига для вашего доменного имени.

Довольно часто при установке 1С-Битрикс: Веб-окружение вылезает либо 502 Bad Gateway, либо пишется, что в соединении отказано. Разумеется, если Вы создали сайты через меню и правильно прописали DNS.

Причина кроется в неправильно сконфигурированных веб-серверах, которые установлены на сервере — это Nginx и Apache.

В случае, когда работает Nginx и не работает Apache, вы получаете ошибку 502, а когда не работает Nginx или даже оба сразу — Вы наблюдаете connection refused.

Залезаем на сервер (у меня стоит ОС CentOS, у владельцев debian-based папка с apache называется apache2), смотрим файлы логов.
Находятся они по адресу /var/log/httpd/ для Apache и /var/log/nginx/ для Nginx

Смотрим файл с названием error.log

И тот, и другой выдают одну и ту же ошибку: cannot allocate memory ровно столько раз, сколько я пытался запустить эти сервисы командами

service httpd start

и

service nginx start

.

Быстрое решение проблемы

mmap — это POSIX средство для разделения совместных ресурсов. Cannot allocate memory означает, что невозможно выделить заданное программами количество памяти ввиду отсутствия железно свободной памяти, которая занята процессами системы, разделённой областью и самими службами.

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

Итак, для тех, кто любит быстрые решения:

Проблема заключается в двух модулях: OPCache и push_stream, а также необходимо будет поднастроить количество запускаемых серверов Apache

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

Настройка Nginx

Заходим в файл /etc/nginx/bx/conf/im_settings.conf

Там находим строку

push_stream_shared_memory_size ------ <некое число>M

Уменьшаем в несколько раз это число, сохраняем результат

Пробуем запустить nginx командой

service nginx start

и последующей за ней

service nginx status

если кажется, что всё ОК.

Если не запускается — пробуем ещё уменьшить число.

В моём случае число нужно было заменить на 16. Для кого-то это число может быть 64, а для кого-то — 4

В конечном итоге работаем на результат =)

Настройка Apache

Теперь займёмся Apache.

Вводим команду

nproc

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

На моём тестовом сервере всего одно ядро.

Заходим в файл /etc/httpd/bx/conf/prefork.conf
Ставим StartServers равным нашему количеству ядер.

Остальные настройки можно уменьшить примерно в той степени, как и startservers.

Мои настройки Вы можете посмотреть на картинке.

Далее заходим в файл /etc/php.d/opcache.ini

Там находим строку

opcache.memory_consumption = <некое число>M

В моём случае число 124 (откуда такое «ровное» число — чёрт его знает) нужно было заменить на 16. Опять же, для кого-то этого будет недостаточно и необходимо будет уменьшить больше.

В конечном итоге, после метода проб и ошибок, у Вас должна сработать команда
service httpd start и отобразиться волшебное

httpd (pid ####) is running

После запуска обеих служб вы получите работающую страницу

То, что делать необязательно

Теперь можем закинуть bitrix_server_test.php в /home/bitrix/www/ и проверить, на чём свет стоит.

НАПОМИНАЮ! (об этом подробнее говорилось в статье Виктора Тарана), что в этой папке должна быть заглушка индексной страницы и никакого рабочего сайта, так как весь мусор собирается именно сюда.

Запускаем файл — ваш_ip/bitrix_server_test.php и смотрим, насколько хорошо всё устроено.

А для того, чтобы разобраться подробнее, что за файлы мы трогали и что это за модули — будет написана пара статей в обозримом будущем.

  • Битрикс ошибка 500 как исправить
  • Битрикс настройка 404 ошибки
  • Битрикс местоположения к сожалению произошла внутренняя ошибка
  • Битрикс инфоблок ошибка удаления возможно есть ссылающиеся объекты
  • Битрикс доступ к серверу обновлений ошибка ошибочный ответ сервера обновлений