Опубликовано:
- DevOps
502 Bad Gateway обычно возникает, когда Nginx работает, как обратный прокси-сервер и не может подключиться к серверным службам. Это может быть связано со сбоем службы, сетевыми ошибками, проблемами конфигурации и т.д. Рассмотрим пять основных причин возникновения этой ошибки и то, как их исправить.
Поддерживать сервер сложно.
Вам приходится иметь дело со всеми обновлениями, исправлениями безопасности и случайными ошибками сервера (они же ошибки из ада).
Одной из таких распространённых ошибок на серверах Nginx является 502 Bad Gateway
.
Сообщение об ошибке загадочно.
Итак, многие веб-мастера засучивают рукава и смотрят error.log
:
2017/04/04 08:34:43 [error] 949#949: *7 connect() failed (111: Connection refused) while connecting to upstream, client: XXX.XXX.XXX.XXX, server: myserver.com, request: "GET /myurl-this/ HTTP/1.0", subrequest: "/redis-fetch", upstream: "redis://127.0.0.1:6379", host: "refserver.com", referrer: "http://referalsite.com/myurl-this/"
Да, ещё больше непонятного…
Вы понимаете, что что-то напутано, потому что он сообщает failed
(сбой) и refused
(отказ).
Но что это означает?
Вот решение. Мы перечислили пять основных причин возникновения ошибки Nginx 502 Bad Gateway
и способы их решения.
Сбой серверной службы
Nginx зависит от серверных служб, таких как PHP-FPM, служб баз данных и серверов кэша для запуска веб-приложений.
Таким образом, если какой-либо из этих сервисов выйдет из строя или зависнет, Nginx не получит никаких данных, что приведёт к ошибке 502 Bad Gateway
.
Службы, которые, как мы видели, сбоили — это:
- PHP-FPM
- Apache
- Cache
- Database
Причины сбоя службы могут варьироваться от всплесков трафика и ограничений ресурсов до ошибок диска и DDoS-атак.
Если вы подозреваете, что серверная служба не отвечает или вышла из строя, попробуйте завершить все не отвечающие процессы и перезапустить службу.
Например, вот один из способов убить нефункционирующие процессы PHP-FPM и перезапустить службу.
$ kill -9 $(pgrep php-fpm)
$ /etc/init.d/php-fpm restart
* Restarting PHP FastCGI Process Manager php-fpm [ OK ]
Внимание: Не запускайте эти команды, если не знаете, как они работают.
Если перезапуск службы не сработал, возможно, вам придётся попросить кого-нибудь более внимательно изучить состояние сервера.
Высокая нагрузка на сервер
Вторая наиболее распространённая причина ошибки Nginx 502 Bad Gateway
является высокая средняя загрузка серверов.
Всплески нагрузки приводят к тому, что службы не отвечают. Мы видели следующие причины скачков нагрузки:
- Внезапный всплеск посещаемости сайта (может быть сезонным или маркетинговым/рекламным).
- Заражение вредоносным программным обеспечением (вирусы/трояны/майнеры/сканеры и т.д.) на сервере.
- Рассылка спама в комментариях или использование других уязвимостей.
- Брут форс атаки на веб-приложения.
- Ошибки приложений, вызывающие утечку памяти или перегрузку ресурсов.
Для устранения проблем с высокой нагрузкой, сначала необходимо выяснить, какой ресурс используется (ввод/вывод, память, процессор или сеть).
Нужно узнать какая служба злоупотребляет этим ресурсом, и с этого момента узнаем, какой пользователь в этой службе владеет вредоносным сценарием или программным обеспечением.
Неправильная конфигурация сервиса
Сервер Nginx и серверные службы зависят от многих подсистем. Таких, как DNS resolver, процессы Apache, службы PHP, сервер базы данных и т.д. Если даже одна из этих служб имеет неправильную конфигурацию, эта служба не сможет ответить, и Nginx покажет ошибку 502 Bad Gateway
.
Проблемы с конфигурацией, с которой мы сталкивались:
- DNS resolver неправильно настроен в Nginx, что приводит к сбою поиска домена.
- Данные логина БД настроены неправильно после недавней миграции, восстановления или обновления.
- Синтаксическая ошибка настроек брандмауэра Apache (mod-security), вызывающая сбой Apache.
- Для приложений PHP установлены неправильные ограничения памяти или файлов.
- Ограничения пропускной способности (например, количество подключений на IP-адрес) установлены слишком строго, что приводит к сбою легальных посетителей.
- …и многое другое.
Не существует простого способа обнаружения ошибки конфигурации. Вам нужно просмотреть error.log
и обратить внимание на то, что написано об ошибке.
Например, эта ошибка сообщает, что приложение PHP достигло максимально допустимого предела процессов (определяемого параметром pm.max_children
).
WARNING: [mysite.com] server reached max_children setting (30), consider raising it
ERROR: unable to read what child say: Bad file descriptor (9)
Если вы не знакомы с PHP или настройками веб-сервера, лучше всего обратиться к администратору сервера.
Порт сервиса заблокирован в брандмауэре
Брандмауэры/файрволлы — основа безопасности сервера. Но если их неправильно настроить, это может привести к блокировке запросов или сбою служб.
Например, на серверах Linux, на которых работает пакет автоматизации Plesk, Nginx работает на 80 порту, а Apache на 7080. Но брандмауэры/файрволлы по умолчанию блокируют необычные порты, и это приведёт к том, что Nginx не сможет подключиться к Apache.
Результат? Ошибка 502 Bad Gateway.
Такие проблемы часто возникают при включении новой службы (например, кэширующий сервис, Ruby, и т.д.) в бэкенде, во время миграции или после обновления сервера.
Чтобы исправить это, мы смотрим, на каком порту работает каждая служба с помощью следующей команды:
$ netstat -lpn
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 19785/nginx
tcp6 0 0 :::80 :::* LISTEN 19785/nginx
И если мы обнаруживаем, что какая-либо служба работает на нестандартных портах, мы либо изменим конфигурацию службы, чтобы изменить её на стандартный порт. Либо отредактируем конфигурацию брандмауэра, чтобы разрешить нестандартный порт.
Ошибки веб-приложений
Редким случаем ошибки 502 Bad Gateway
является ошибка приложения.
Если журнал ошибок веб сервера показывает пугающую ошибку, подобную этой, возможно, код приложения не совместим с версией сервера.
[notice] child pid 27831 exit signal Segmentation fault (11)
Вам нужно будет проверить требования вашего приложения и настроить службы, чтобы они соответствовали требуемым версиям.
Итог
Ошибка 502 Bad Gateway в Nginx обычно возникает, когда Nginx работает как обратный прокси и не может подключиться к серверным службам. Это может быть связано со сбоями службы, сетевыми ошибками, проблемами конфигурации и т.д. Мы рассмотрели пять основных причин этой ошибки и способы её устранения.
О чем речь? Если сервер, с которым связывается ваше устройство, получает некорректный ответ от сервера уровнем выше, на экране компьютера или смартфона высвечивается ошибка 502 Bad Gateway, делая работу невозможной.
На что обратить внимание? Проблема чаще всего возникает из-за сбоев в функциях DNS, прокси или хостинга. Но ситуация поправима, причем сделать это может не только администратор ресурса. Зачастую хватает и грамотных действий обычного пользователя.
В статье рассказывается:
- Общая характеристика ошибки 502 Bad Gateway
- Причины возникновения ошибки 502
- Советы пользователю по исправлению ошибки 502
- Рекомендации администратору по исправлению ошибки 502
-
Пройди тест и узнай, какая сфера тебе подходит:
айти, дизайн или маркетинг.Бесплатно от Geekbrains
Общая характеристика ошибки 502 Bad Gateway
Любой сайт состоит из большого количества файлов: CSS-стили, коды, медиаконтент, HTML-документы и т. д. Все эти данные хранятся на веб-сервере. Чтобы открыть страницу и получить доступ к контенту, браузер направляет запрос на сервер. Если ответ на него по каким-либо причинам не поступает, появляется ошибка сервера 502.
В переводе ошибка 502 Bad Gateway означает «плохой шлюз», соответственно, проблема на шлюзе, в роли которого выступает прокси-сервер. То есть баг возникает в случае, если прокси не может получить данные от источника. Код состояния HTTP 502 веб-сервер использует для описания ошибки.
Проблема может распространяться как на весь сайт полностью, так и на отдельные его страницы. В зависимости от программы, которая была использована для создания веб-сервера, у ошибки 502 есть две основные разновидности – Bad Gateway Nginx или Bad Gateway Apache. Причины возникновения проблемы при этом одинаковы.
Также эта ошибка может иметь и другие формулировки:
- Error 502.
- Bad 502 Gateway.
- 502 Error.
- 502 Proxy Error.
- Bad Gateway: Registered endpoint failed to handle the request, Temporary 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.
- HTTP 502.
- HTTP Error 502 Bad Gateway.
Топ-30 самых востребованных и высокооплачиваемых профессий 2023
Поможет разобраться в актуальной ситуации на рынке труда
Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка
Только проверенные нейросети с доступом из России и свободным использованием
ТОП-100 площадок для поиска работы от GeekBrains
Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽
Уже скачали 22604
Между сервером и браузером может стоять веб-сервер, который хранит файлы сайта и используется для снижения нагрузки. Он находит необходимую страницу в каталоге и отправляет ее в ответ на запрос пользователя. Обозреватель обрабатывает полученный файл и отображает его на экране. Так как веб-сервер выступает посредником между браузером и сервером, то именно он оповещает пользователя о проблеме.
Чаще всего причиной ошибки 502 при открытии сайта является перегрузка сервера, которая может возникнуть по ряду причин:
- Большое количество посетителей одновременно. Возможности сервера ограничены, потому просматривать сайт может лишь определенное количество пользователей. Максимальное число зависит от мощности сервера и настроек, которые установил владелец ресурса. Если одновременно на сайт зайдет слишком большое количество пользователей, то сервер не выдержит нагрузку, и страница выдаст код ошибки 502. Например, такие ситуации часто случаются в интернет-магазинах в период акций и сезонных распродаж.
- Хакерская атака (DDoS-атака). Хакеры, создавая большое количество запросов, имитируют огромный наплыв пользователей, вследствие чего сервер перегружается и выходит из строя.
- Плохая оптимизация сайта. Если настройки площадки выставлены таким образом, что небольшое количество посетителей генерирует много запросов, то в таком случае следует оптимизировать работу сервера с пользователями.
- Действия соседей по виртуальному хостингу. Если вы пользуетесь виртуальным хостингом, то мощность веб-сервера делится на всех его арендаторов. В случае возникновения проблем у одного из сайтов возрастет потребляемая им мощность. Оставшейся части ресурсов может быть недостаточно для корректной работы других участников хостинга, и сайт выдаст номер ошибки 502.
Читайте также
Еще одной причиной возникновения такого бага может быть некорректная работа PHP-скрипта. Неверно настроенные плагины могут выдавать ошибку сайта 502.
Также причиной может являться баг браузера. Проблема может быть на стороне пользователя в случае, если у него установлены расширения, нарушающие соединение с сервером сайта.
Советы пользователю по исправлению ошибки 502
Ошибка 502: что делать?
- Перезагрузите страницу. В случае если проблема возникла по причине большого наплыва посетителей, через некоторое время количество пользователей может сократиться, и сайт начнет работать корректно.
- Проверьте подключение к сети Интернет. Браузер может не получать данные с сервера из-за нестабильного соединения или низкой скорости. Попробуйте перезагрузить роутер или отключите его на некоторое время от электросети.
Скачать
файл
- Попытайтесь зайти на другой сайт, чтобы убедиться, что проблема не в настройках вашего устройства. Если вы сможете зайти на иную площадку, значит, ошибка возникла со стороны владельца веб-ресурса. Вы сможете попасть на нужную страницу, когда администратор восстановит доступ.
- Почистите файлы cookies. Если при повторном входе на сайт по-прежнему отображается ошибка 502, попробуйте очистить кэш браузера. Возможно, доступ уже был восстановлен, но ваш обозреватель обращается к старой версии страницы из памяти.
- Попробуйте другой сервис. Если ошибка при открытии сайта возникает только на одном устройстве, возможно, проблема в настройках конкретной программы. Решить ее может помочь использование другого браузера.
- Отключите расширения и плагины. Причиной ошибки могут быть плагины и расширения (особенно для работы с прокси- и VPN-сервисами), которые блокируют доступ к некоторым сайтам. Попробуйте отключить их и снова зайти на страницу.
- Очистите кэш DNS. DNS-кэш – это своего рода база данных, которая временно хранит IP-адреса ранее посещенных сайтов с вашего компьютера, чтобы впоследствии они загружались быстрее. При смене DNS данные из памяти будут отправлять по старому пути, и в браузере появится код ошибки 502. После очистки кэша сервис будет обращаться уже к новому IP-адресу.
Ниже приведены инструкции для разных операционных систем:
- В Windows 10, чтобы избавиться от ошибки 502, комбинацией клавиш Win+R откройте командную строку, введите «cmd» и нажмите OK. В открывшемся окне наберите команду ipconfig /flushdns и нажмите Enter. Дождитесь оповещения об успешной очистке кэша.
- В Windows 7 в консоли введите команду ipconfig /flushdns и нажмите Enter. Затем выполните команды net stop dnscache и net start dnscache, чтобы перезапустить службу DNS-клиента.
- В macOS нажмите на иконку поиска в правом верхнем углу и напишите «Терминал», кликните по найденному приложению. В открывшемся окне введите команду sudo killall -HUP mDNSResponder.
- В Linux запустите терминал из основного меню или сочетанием клавиш Ctrl + Alt + T. Для Ubuntu – введите команду sudo service network-manager restart и нажмите Enter (иногда она работает и на других дистрибутивах). Для иных вариантов попробуйте sudosystem-resolve –flush-caches или sudo /etc/init.d/nscd restart.
В некоторых дистрибутивах может потребоваться запуск других команд.
- Измените DNS-сервер по умолчанию. Данное действие может повысить безопасность и скорость. Для этого в настройках роутера нужно указать адреса публичных DNS-серверов.
- Свяжитесь с администратором. Если у вас есть контакты администратора сайта, расскажите ему об ошибке, с которой столкнулись. Возможно, он еще не в курсе проблемы и, соответственно, пока не решает ее.
Рекомендации администратору по исправлению ошибки 502
В первую очередь необходимо проверить журнал ошибок
В WordPress он расположен в папке wp-content, имя файла debug.log. Если такого файла нет или он пустой, то нужно включить запись логов в конфигурационном файле wp-config.php.
Дарим скидку от 60%
на курсы от GeekBrains до 24 сентября
Уже через 9 месяцев сможете устроиться на работу с доходом от 150 000 рублей
Забронировать скидку
Если у вас VPS/VDS или выделенный сервер, нужно дополнительно посмотреть логи сервера. Это поможет определить:
- влияют ли обновления на сервере на возникновение ошибки 502;
- признаки DDoS-атаки (массовые однотипные запросы);
- подозрительную активность с некоторых IP-адресов;
- отсутствие соединения между вашими серверами Nginx, Apache и т. д.
По результатам проверки можно предпринимать действия для решения возникшей проблемы.
Использование команды top
Исправление ошибки 502 на виртуальном сервере можно начать с проверки командой top (на виртуальном хостинге такой вариант чаще всего недоступен).
Проверка может выявить следующие причины возникшей проблемы:
- Недостаточно памяти сервера. На это укажет аббревиатура OOM (out of memory) в результатах или же в параметре Mem – free (свободная память) будет слишком маленькое число.
- Если ошибка 502 по причине нехватки памяти возникает все чаще, вероятно, посещаемость площадки выросла, и вам нужно увеличить на сервере объем оперативной памяти или выбрать другой тариф.
- Недостаточно лимита php-cgi процессов для обработки запросов пользователей. Возможно, установлены слишком маленькие лимиты. Попробуйте их увеличить в конфигурационном файле httpd.conf.
Проверьте плагины в WordPress
Если ваш сайт создан на WordPress, некоторые плагины и темы могут влиять на работу сервера. Войдите в панель управления. Если вы пользуетесь услугой REG.Site, сделать это можно из личного кабинета. Перейдите во вкладку «Плагины» –«Установленные». Нажмите «Деактивировать» у того, который, по вашему мнению, повлиял на работу сайта.
Только до 25.09
Скачай подборку материалов, чтобы гарантированно найти работу в IT за 14 дней
Список документов:
ТОП-100 площадок для поиска работы от GeekBrains
20 профессий 2023 года, с доходом от 150 000 рублей
Чек-лист «Как успешно пройти собеседование»
Чтобы получить файл, укажите e-mail:
Введите e-mail, чтобы получить доступ к документам
Подтвердите, что вы не робот,
указав номер телефона:
Введите телефон, чтобы получить доступ к документам
Уже скачали 52300
Можно отключить сразу все плагины, чтобы убедиться, что один из них действительно мешает. И далее по очереди включать по одному, пока не обнаружите тот самый, по вине которого возникает ошибка.
Проверьте, как работают вспомогательные службы, например, MySQL и Memcached
Порой они могут быть причиной ошибки 502.
Попробуйте отключить анти-DDoS
Часто хостинги предлагают готовые инструменты, которые предупреждают DDoS-атаки, перенаправляя трафик посетителей на специальные серверы. Там DDoS-запросы отделяются от реальных, и вашему ресурсу передаются уже очищенные. Если в этой последовательности процессов происходит какой-то сбой, то возникает ошибка 502. Чтобы устранить проблему, попробуйте временно отключить анти-DDoS.
Увеличьте количество ресурсов
Нехватка мощности хостинга, на котором размещен сайт, может быть причиной ошибки 502. Особенно часто такое возникает при использовании виртуальных серверов. Если при работе сайта вы превышаете ограничения тарифного плана, хостинг разрывает соединение.
Читайте также
Обычно информацию об этом можно найти в логах. В этом случае нужно арендовать сервер с большим количеством процессоров и оперативной памяти.
Попросите помощи у коллег
Поищите решение проблемы в FAQ вашего провайдера или на Stack Overflow. Вероятнее всего, вы не первый, кто столкнулся с подобной ситуацией, и рабочий вариант исправления бага уже описан. Если же найденные в Интернете советы не окажутся полезными, вы можете создать свою тему на форуме или попросить помощи у более опытных коллег.
Свяжитесь со службой поддержки своего хостинг-провайдера и подробно опишите проблему и все действия, которые были предприняты.
Если и это не помогло, стоит обратиться за консультацией к специалисту
Он проанализирует проблему, выяснит причину возникновения ошибки и устранит ее.
Появление ошибки 502 Bad Gateway – нередкий случай. Справиться с ней могут как специалисты, так и пользователи сайта. Регулярная оптимизация веб-ресурсов положительно скажется на их работе и доступности.
Прошу прощения, давно не заходил на форум. Исправляю свои ошибки:
Стоит конфигурация apache 2.2.26 + Nginx 1.4.4
Запускаю сайт — главная страница открывается, страницы второго уровня открываются. А вот такие уже не открываются а выдают ошибку 502 Bad Gateway
http://arenda/ru/search?type=2&category=1
Отрубаю в настройках Nginx — оставляю только apache — все работает и все страницы открываются. Хотелось бы понять в чем проблема с Nginx.
Логи:
Apache запросы:
boolive: 127.0.0.1 [19/Jan/2014:12:33:02 +0400] "GET /openserver/check.html HTTP/1.0" 200 18 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0" boolive: 127.0.0.1 [19/Jan/2014:12:33:02 +0400] "GET /openserver/check.php HTTP/1.0" 200 18 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0" arenda: 127.0.0.1 [19/Jan/2014:12:36:21 +0400] "GET / HTTP/1.0" 200 414876 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" arenda: 127.0.0.1 [19/Jan/2014:12:36:27 +0400] "GET / HTTP/1.0" 200 412863 "http://arenda/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" arenda: 127.0.0.1 [19/Jan/2014:12:36:30 +0400] "GET / HTTP/1.0" 200 413394 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" arenda: 127.0.0.1 [19/Jan/2014:12:36:32 +0400] "GET / HTTP/1.0" 200 415254 "http://arenda/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" arenda: 127.0.0.1 [19/Jan/2014:12:36:38 +0400] "GET /ru/?category=1 HTTP/1.0" 200 429002 "http://arenda/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" arenda: 127.0.0.1 [19/Jan/2014:12:36:40 +0400] "GET /ru/?category=1 HTTP/1.0" 200 424630 "http://arenda/ru/?category=1" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" arenda: 127.0.0.1 [19/Jan/2014:12:36:42 +0400] "GET /ru/search?type=2&category=1 HTTP/1.0" 200 688188 "http://arenda/ru/?category=1" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" arenda: 127.0.0.1 [19/Jan/2014:12:36:44 +0400] "GET /ru/search?type=2&category=1 HTTP/1.0" 200 625826 "http://arenda/ru/search?type=2&category=1" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36"
Apache отладка:
[Sun Jan 19 12:32:58 2014] [warn] Init: Session Cache is not configured [hint: SSLSessionCache] [Sun Jan 19 12:32:59 2014] [notice] Digest: generating secret for digest authentication ... [Sun Jan 19 12:32:59 2014] [notice] Digest: done [Sun Jan 19 12:33:00 2014] [notice] Apache/2.2.26 (Win32) DAV/2 mod_ssl/2.2.26 OpenSSL/0.9.8y configured -- resuming normal operations [Sun Jan 19 12:33:00 2014] [notice] Server built: Nov 14 2013 16:26:05 [Sun Jan 19 12:33:00 2014] [notice] Parent: Created child process 17636 [Sun Jan 19 12:33:00 2014] [notice] Disabled use of AcceptEx() WinSock2 API [Sun Jan 19 12:33:00 2014] [warn] Init: Session Cache is not configured [hint: SSLSessionCache] [Sun Jan 19 12:33:01 2014] [notice] Digest: generating secret for digest authentication ... [Sun Jan 19 12:33:01 2014] [notice] Digest: done [Sun Jan 19 12:33:02 2014] [notice] Child 17636: Child process is running [Sun Jan 19 12:33:02 2014] [notice] Child 17636: Acquired the start mutex. [Sun Jan 19 12:33:02 2014] [notice] Child 17636: Starting 32 worker threads. [Sun Jan 19 12:33:02 2014] [notice] Child 17636: Listening on port 8080.
Nginx запросы:
arenda: 127.0.0.1 [19/Jan/2014:12:36:32 +0400] "GET /images/y/cat-select-14.png HTTP/1.1" "http://arenda/" 304 269 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:32 +0400] "GET /images/y/cat-select-17.png HTTP/1.1" "http://arenda/" 304 269 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:32 +0400] "GET /images/y/cat-select-16.png HTTP/1.1" "http://arenda/" 304 269 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:32 +0400] "GET /images/y/cat-select-15.png HTTP/1.1" "http://arenda/" 304 269 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:32 +0400] "GET /images/y/cat-select-20.png HTTP/1.1" "http://arenda/" 304 269 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:32 +0400] "GET /images/y/cat-select-19.png HTTP/1.1" "http://arenda/" 304 269 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:32 +0400] "GET /images/y/cat-select-22.png HTTP/1.1" "http://arenda/" 304 269 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:32 +0400] "GET /images/y/cat-select-21.png HTTP/1.1" "http://arenda/" 304 269 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:32 +0400] "GET /uploads/advertising/88ec3d4c2e6bf63d16009c21961ff5d5.gif HTTP/1.1" "http://arenda/" 200 509187 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:32 +0400] "GET /images/y/header-bg.jpg HTTP/1.1" "http://arenda/" 200 1930 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:32 +0400] "GET /uploads/advertising/5b1d50588c8f08b12dc6bf394c725196.gif HTTP/1.1" "http://arenda/" 200 833133 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:32 +0400] "GET /uploads/advertising/9634edc8dd43be9ab95e05a66b624363.gif HTTP/1.1" "http://arenda/" 200 581055 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:32 +0400] "GET /uploads/advertising/01f3048cda3daa88ea6d8ba163f9dcb1.gif HTTP/1.1" "http://arenda/" 200 69417 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:32 +0400] "GET /uploads/advertising/816a36e38cb0c2d1b81328bd62cdf39a.gif HTTP/1.1" "http://arenda/" 200 43367 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:32 +0400] "GET /images/y/add-buttton.png HTTP/1.1" "http://arenda/" 200 4478 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:32 +0400] "GET /images/y/content-bg.png HTTP/1.1" "http://arenda/" 200 60056 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:32 +0400] "GET /js/slider/themes/default/loading.gif HTTP/1.1" "http://arenda/" 200 2064 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:32 +0400] "GET /assets/e3efb01b/panel.png HTTP/1.1" "http://arenda/" 200 2715 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:32 +0400] "GET /css/print.css HTTP/1.1" "http://arenda/" 200 1736 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:32 +0400] "GET /images/y/index-shadow.png HTTP/1.1" "http://arenda/" 200 480 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:32 +0400] "GET /assets/e3efb01b/chronometer.png HTTP/1.1" "http://arenda/" 200 2459 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:34 +0400] "GET / HTTP/1.1" "http://arenda/" 200 31032 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:39 +0400] "GET /ru/?category=1 HTTP/1.1" "http://arenda/" 200 31383 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:41 +0400] "GET /ru/?category=1 HTTP/1.1" "http://arenda/ru/?category=1" 200 31159 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:44 +0400] "GET /ru/search?type=2&category=1 HTTP/1.1" "http://arenda/ru/?category=1" 502 757 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-" arenda: 127.0.0.1 [19/Jan/2014:12:36:46 +0400] "GET /ru/search?type=2&category=1 HTTP/1.1" "http://arenda/ru/search?type=2&category=1" 502 757 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "-"
Nginx отладка:
2014/01/19 12:36:27 [error] 20136#1796: *7 upstream prematurely closed connection while reading response header from upstream, client: 127.0.0.1, server: arenda, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8080/", host: "arenda" 2014/01/19 12:36:44 [error] 20136#1796: *8 upstream prematurely closed connection while reading response header from upstream, client: 127.0.0.1, server: arenda, request: "GET /ru/search?type=2&category=1 HTTP/1.1", upstream: "http://127.0.0.1:8080/ru/search?type=2&category=1", host: "arenda", referrer: "http://arenda/ru/?category=1" 2014/01/19 12:36:46 [error] 20136#1796: *8 upstream prematurely closed connection while reading response header from upstream, client: 127.0.0.1, server: arenda, request: "GET /ru/search?type=2&category=1 HTTP/1.1", upstream: "http://127.0.0.1:8080/ru/search?type=2&category=1", host: "arenda", referrer: "http://arenda/ru/search?type=2&category=1"
Лог ошибок PHP — пустой.
Конфиги Apache и Nginx по умолчанию, ничего не менял и отдельные конфиги не создавал.
Apache-2.2.26+Nginx-1.4.4_servera.conf
#---------------------------------------------# # Основная конфигурация сервера Apache #---------------------------------------------# ServerRoot "%sprogdir%/modules/http/%httpdriver%" DocumentRoot "%ssitedir%/" Listen %ip%:%httpbackport% NameVirtualHost *:%httpbackport% ServerName %ips% ServerTokens OS ServerSignature Off Timeout 30 KeepAlive off MaxKeepAliveRequests 100 KeepAliveTimeout 10 UseCanonicalName Off AccessFileName .htaccess HostnameLookups Off ExtendedStatus On PidFile "%sprogdir%/userdata/temp/httpd.pid" ThreadsPerChild 32 ThreadStackSize 8388608 MaxRequestsPerChild %maxrequests% MaxRanges 200 EnableMMAP off EnableSendfile off Win32DisableAcceptEx On ScriptInterpreterSource script %httpcharset% #---------------------------------------------# # Подключение модулей #---------------------------------------------# LoadModule actions_module modules/mod_actions.so LoadModule alias_module modules/mod_alias.so LoadModule asis_module modules/mod_asis.so LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule authn_alias_module modules/mod_authn_alias.so LoadModule authn_anon_module modules/mod_authn_anon.so LoadModule authn_dbd_module modules/mod_authn_dbd.so LoadModule authn_dbm_module modules/mod_authn_dbm.so LoadModule authn_default_module modules/mod_authn_default.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authnz_ldap_module modules/mod_authnz_ldap.so LoadModule authz_dbm_module modules/mod_authz_dbm.so LoadModule authz_default_module modules/mod_authz_default.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_owner_module modules/mod_authz_owner.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule cache_module modules/mod_cache.so LoadModule cern_meta_module modules/mod_cern_meta.so LoadModule cgi_module modules/mod_cgi.so LoadModule charset_lite_module modules/mod_charset_lite.so LoadModule dav_module modules/mod_dav.so LoadModule dav_fs_module modules/mod_dav_fs.so LoadModule dav_lock_module modules/mod_dav_lock.so LoadModule dbd_module modules/mod_dbd.so LoadModule deflate_module modules/mod_deflate.so LoadModule dir_module modules/mod_dir.so LoadModule disk_cache_module modules/mod_disk_cache.so LoadModule dumpio_module modules/mod_dumpio.so LoadModule env_module modules/mod_env.so LoadModule expires_module modules/mod_expires.so LoadModule ext_filter_module modules/mod_ext_filter.so LoadModule file_cache_module modules/mod_file_cache.so LoadModule filter_module modules/mod_filter.so LoadModule headers_module modules/mod_headers.so LoadModule ident_module modules/mod_ident.so LoadModule imagemap_module modules/mod_imagemap.so LoadModule include_module modules/mod_include.so LoadModule info_module modules/mod_info.so LoadModule isapi_module modules/mod_isapi.so LoadModule ldap_module modules/mod_ldap.so LoadModule logio_module modules/mod_logio.so LoadModule log_config_module modules/mod_log_config.so LoadModule log_forensic_module modules/mod_log_forensic.so LoadModule mem_cache_module modules/mod_mem_cache.so LoadModule mime_module modules/mod_mime.so LoadModule mime_magic_module modules/mod_mime_magic.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule reqtimeout_module modules/mod_reqtimeout.so LoadModule rewrite_module modules/mod_rewrite.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule speling_module modules/mod_speling.so LoadModule ssl_module modules/mod_ssl.so LoadModule status_module modules/mod_status.so LoadModule substitute_module modules/mod_substitute.so LoadModule unique_id_module modules/mod_unique_id.so LoadModule userdir_module modules/mod_userdir.so LoadModule usertrack_module modules/mod_usertrack.so LoadModule version_module modules/mod_version.so LoadModule vhost_alias_module modules/mod_vhost_alias.so PHPINIDir "%sprogdir%/userdata/temp/config" LoadModule php5_module "%sprogdir%/modules/php/%phpdriver%/php5apache2_2.dll" LoadModule rpaf_module modules/mod_rpaf.so RPAFenable On RPAFproxy_ips 127.0.0.1 %ips% RPAFsethostname Off RPAFheader X-Real-IP #---------------------------------------------# # Настройка прав доступа к серверу #---------------------------------------------# <Directory /> Options +FollowSymLinks AllowOverride None Order Deny,Allow Deny from all </Directory> <Directory "%ssitedir%/*"> AllowOverride All Options -MultiViews +Indexes +FollowSymLinks +IncludesNoExec +Includes +ExecCGI <LimitExcept GET POST HEAD> Order deny,allow Deny from all </LimitExcept> </Directory> <Directory "%sprogdir%/modules/system/html/openserver"> AllowOverride None Options -MultiViews -Indexes -FollowSymLinks -IncludesNoExec -Includes -ExecCGI Order deny,allow Deny from all Allow from 127.0.0.0/8 ::1/128 Allow from %ips% %allow%Allow from all <LimitExcept GET POST HEAD> Order deny,allow Deny from all </LimitExcept> AddDefaultCharset Off <IfModule dir_module> DirectoryIndex index.php </IfModule> </Directory> <Directory "%sprogdir%/modules/system/html/default"> AllowOverride None Options -MultiViews -Indexes -FollowSymLinks -IncludesNoExec -Includes -ExecCGI Order deny,allow Allow from all <LimitExcept GET POST HEAD> Order deny,allow Deny from all </LimitExcept> AddDefaultCharset Off <IfModule dir_module> DirectoryIndex index.html </IfModule> </Directory> <Directory "/cgi-bin"> AllowOverride None Options +ExecCGI Order allow,deny Allow from all </Directory> <FilesMatch "^.ht"> Require all denied </FilesMatch> <IfModule alias_module> Alias /openserver/ "%sprogdir%/modules/system/html/openserver/" </IfModule> #---------------------------------------------# # Конфигурация сообщений об ошибках #---------------------------------------------# ErrorLog "%sprogdir%/userdata/logs/%httpdriver%_errora.log" LogLevel warn <IfModule log_config_module> LogFormat "%v: %a %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined LogFormat "%v: %a %t "%r" %>s %b" common <IfModule logio_module> # You need to enable mod_logio.c to use %I and %O LogFormat "%v: %a %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %I %O" combinedio </IfModule> %log%CustomLog "%sprogdir%/userdata/logs/%httpdriver%_queriesa.log" combined </IfModule> #ErrorDocument 500 "The server made a boo boo." #ErrorDocument 404 /missing.html #ErrorDocument 404 "/cgi-bin/missing_handler.pl" #ErrorDocument 402 http://ret.ru/subscription_info.html # Multi-language error messages Alias /apacheerror/ "%sprogdir%/modules/http/%httpdriver%/error/" <Directory "%sprogdir%/modules/http/%httpdriver%/error"> AllowOverride None Options IncludesNoExec AddOutputFilter Includes html AddHandler type-map var Order allow,deny Allow from all LanguagePriority en cs de es fr it ja ko nl pl pt-br ro sv tr ForceLanguagePriority Prefer Fallback </Directory> ErrorDocument 400 /apacheerror/HTTP_BAD_REQUEST.html.var ErrorDocument 401 /apacheerror/HTTP_UNAUTHORIZED.html.var ErrorDocument 403 /apacheerror/HTTP_FORBIDDEN.html.var ErrorDocument 404 /apacheerror/HTTP_NOT_FOUND.html.var ErrorDocument 405 /apacheerror/HTTP_METHOD_NOT_ALLOWED.html.var ErrorDocument 408 /apacheerror/HTTP_REQUEST_TIME_OUT.html.var ErrorDocument 410 /apacheerror/HTTP_GONE.html.var ErrorDocument 411 /apacheerror/HTTP_LENGTH_REQUIRED.html.var ErrorDocument 412 /apacheerror/HTTP_PRECONDITION_FAILED.html.var ErrorDocument 413 /apacheerror/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var ErrorDocument 414 /apacheerror/HTTP_REQUEST_URI_TOO_LARGE.html.var ErrorDocument 415 /apacheerror/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var ErrorDocument 500 /apacheerror/HTTP_INTERNAL_SERVER_ERROR.html.var ErrorDocument 501 /apacheerror/HTTP_NOT_IMPLEMENTED.html.var ErrorDocument 502 /apacheerror/HTTP_BAD_GATEWAY.html.var ErrorDocument 503 /apacheerror/HTTP_SERVICE_UNAVAILABLE.html.var ErrorDocument 506 /apacheerror/HTTP_VARIANT_ALSO_VARIES.html.var #---------------------------------------------# # Конфигурация MIME #---------------------------------------------# DefaultType text/plain <IfModule mime_module> # # TypesConfig points to the file containing the list of mappings from # filename extension to MIME-type. # TypesConfig conf/mime.types # # AddType allows you to add to or override the MIME configuration # file specified in TypesConfig for specific file types. # #AddType application/x-gzip .tgz # # AddEncoding allows you to have certain browsers uncompress # information on the fly. Note: Not all browsers support this. # #AddEncoding x-compress .Z #AddEncoding x-gzip .gz .tgz # # If the AddEncoding directives above are commented-out, then you # probably should define those extensions to indicate media types: # AddType application/x-compress .Z AddType application/x-gzip .gz .tgz AddType image/x-icon .ico # # AddHandler allows you to map certain file extensions to "handlers": # actions unrelated to filetype. These can be either built into the server # or added with the Action directive (see below) # # To use CGI scripts outside of ScriptAliased directories: # (You will also need to add "ExecCGI" to the "Options" directive.) # AddHandler cgi-script .cgi .pl AddType application/x-httpd-php .php .php5 .phtml # For type maps (negotiated resources): #AddHandler type-map var # # Filters allow you to process content before it is sent to the client. # # To parse .shtml files for server-side includes (SSI): # (You will also need to add "Includes" to the "Options" directive.) # AddType text/html .shtml AddOutputFilter INCLUDES .shtml </IfModule> <IfModule mime_magic_module> MIMEMagicFile conf/magic </IfModule> #---------------------------------------------# # Конфигурация Index-а и иконок #---------------------------------------------# <IfModule dir_module> DirectoryIndex index.php index.html index.htm index.pl </IfModule> # Fancy directory listings IndexOptions FancyIndexing HTMLTable VersionSort NameWidth=* Alias /apacheicons/ "%sprogdir%/modules/http/%httpdriver%/icons/" <Directory "%sprogdir%/modules/http/%httpdriver%/icons"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> AddIconByEncoding (CMP,/apacheicons/compressed.gif) x-compress x-gzip AddIconByType (TXT,/apacheicons/text.gif) text/* AddIconByType (IMG,/apacheicons/image2.gif) image/* AddIconByType (SND,/apacheicons/sound2.gif) audio/* AddIconByType (VID,/apacheicons/movie.gif) video/* AddIcon /apacheicons/binary.gif .bin .exe AddIcon /apacheicons/binhex.gif .hqx AddIcon /apacheicons/tar.gif .tar AddIcon /apacheicons/world2.gif .wrl .wrl.gz .vrml .vrm .iv AddIcon /apacheicons/compressed.gif .Z .z .tgz .gz .zip AddIcon /apacheicons/a.gif .ps .ai .eps AddIcon /apacheicons/layout.gif .html .shtml .htm .pdf AddIcon /apacheicons/text.gif .txt AddIcon /apacheicons/c.gif .c AddIcon /apacheicons/p.gif .pl .py AddIcon /apacheicons/f.gif .for AddIcon /apacheicons/dvi.gif .dvi AddIcon /apacheicons/uuencoded.gif .uu AddIcon /apacheicons/script.gif .conf .sh .shar .csh .ksh .tcl AddIcon /apacheicons/tex.gif .tex AddIcon /apacheicons/bomb.gif core AddIcon /apacheicons/back.gif .. AddIcon /apacheicons/hand.right.gif README AddIcon /apacheicons/folder.gif ^^DIRECTORY^^ AddIcon /apacheicons/blank.gif ^^BLANKICON^^ DefaultIcon /apacheicons/unknown.gif #AddDescription "GZIP compressed document" .gz #AddDescription "tar archive" .tar #AddDescription "GZIP compressed tar archive" .tgz ReadmeName README.html HeaderName HEADER.html IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t #---------------------------------------------# # Подключение языков и кодировок #---------------------------------------------# AddLanguage ca .ca AddLanguage cs .cz .cs AddLanguage da .dk AddLanguage de .de AddLanguage el .el AddLanguage en .en AddLanguage eo .eo AddLanguage es .es AddLanguage et .et AddLanguage fr .fr AddLanguage he .he AddLanguage hr .hr AddLanguage it .it AddLanguage ja .ja AddLanguage ko .ko AddLanguage ltz .ltz AddLanguage nl .nl AddLanguage nn .nn AddLanguage no .no AddLanguage pl .po AddLanguage pt .pt AddLanguage pt-BR .pt-br AddLanguage ru .ru AddLanguage sv .sv AddLanguage tr .tr AddLanguage zh-CN .zh-cn AddLanguage zh-TW .zh-tw LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv tr zh-CN zh-TW ForceLanguagePriority Prefer Fallback AddCharset us-ascii.ascii .us-ascii AddCharset ISO-8859-1 .iso8859-1 .latin1 AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen AddCharset ISO-8859-3 .iso8859-3 .latin3 AddCharset ISO-8859-4 .iso8859-4 .latin4 AddCharset ISO-8859-5 .iso8859-5 .cyr .iso-ru AddCharset ISO-8859-6 .iso8859-6 .arb .arabic AddCharset ISO-8859-7 .iso8859-7 .grk .greek AddCharset ISO-8859-8 .iso8859-8 .heb .hebrew AddCharset ISO-8859-9 .iso8859-9 .latin5 .trk AddCharset ISO-8859-10 .iso8859-10 .latin6 AddCharset ISO-8859-13 .iso8859-13 AddCharset ISO-8859-14 .iso8859-14 .latin8 AddCharset ISO-8859-15 .iso8859-15 .latin9 AddCharset ISO-8859-16 .iso8859-16 .latin10 AddCharset ISO-2022-JP .iso2022-jp .jis AddCharset ISO-2022-KR .iso2022-kr .kis AddCharset ISO-2022-CN .iso2022-cn .cis AddCharset Big5.Big5 .big5 .b5 AddCharset cn-Big5 .cn-big5 # For russian, more than one charset is used (depends on client, mostly): AddCharset WINDOWS-1251 .cp-1251 .win-1251 AddCharset CP866 .cp866 AddCharset KOI8 .koi8 AddCharset KOI8-E .koi8-e AddCharset KOI8-r .koi8-r .koi8-ru AddCharset KOI8-U .koi8-u AddCharset KOI8-ru .koi8-uk .ua AddCharset ISO-10646-UCS-2 .ucs2 AddCharset ISO-10646-UCS-4 .ucs4 AddCharset UTF-7 .utf7 AddCharset UTF-8 .utf8 AddCharset UTF-16 .utf16 AddCharset UTF-16BE .utf16be AddCharset UTF-16LE .utf16le AddCharset UTF-32 .utf32 AddCharset UTF-32BE .utf32be AddCharset UTF-32LE .utf32le AddCharset euc-cn .euc-cn AddCharset euc-gb .euc-gb AddCharset euc-jp .euc-jp AddCharset euc-kr .euc-kr #Not sure how euc-tw got in - IANA doesn't list it??? AddCharset EUC-TW .euc-tw AddCharset gb2312 .gb2312 .gb AddCharset iso-10646-ucs-2 .ucs-2 .iso-10646-ucs-2 AddCharset iso-10646-ucs-4 .ucs-4 .iso-10646-ucs-4 AddCharset shift_jis .shift_jis .sjis #---------------------------------------------# # Первичный виртуальный хост "по умолчанию" #---------------------------------------------# <VirtualHost *:%httpport%> DocumentRoot "%sprogdir%/modules/system/html/default" ServerName "default" ServerAlias "default" <Location /openserver/> Deny from all </Location> </VirtualHost> #---------------------------------------------# # Конец конфигурации хоста "по умолчанию" # #---------------------------------------------#
Apache-2.2.26+Nginx-1.4.4_vhostn.conf
#---------------------------------------------# # Конфигурация хоста для сервера Nginx #---------------------------------------------# #---------------------------------------------# # Внимание! # # При редактировании конфигурации хоста # # нельзя удалять или заменять системные # # переменные %...%, вы можете вносить только # # новые записи дополняющие конфигурацию. # #---------------------------------------------# #---------------------------------------------# # Начало блока конфигурации HTTP хоста # #---------------------------------------------# server { listen %ip%:%httpport%; server_name %host% %aliases%; if ($request_method !~* ^(GET|HEAD|POST)$ ){return 403;} location ~ /. {deny all;} %limit% location / { proxy_pass http://%ips%:%httpbackport%/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $http_x_forwarded_for; proxy_pass_header Server; proxy_connect_timeout 30s; proxy_send_timeout 30s; proxy_read_timeout 30m; proxy_buffering on; proxy_buffer_size 64k; proxy_buffers 4 64k; proxy_busy_buffers_size 128k; proxy_intercept_errors off; proxy_ignore_client_abort off; } location ~* ^.+.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|js|wmv|avi|cur|swf|mp3|wma|htc|cur|7z)$ { root "%hostdir%"; expires 7d; } # Не удаляйте следующую строку конфигурации! include "%sprogdir%/userdata/temp/config/%httpdriver%_url.conf"; } #---------------------------------------------# # Конец блока конфигурации HTTP хоста # #---------------------------------------------# #---------------------------------------------# # Начало блока конфигурации HTTPS хоста # #---------------------------------------------# server { listen %ip%:%httpsport%; server_name %host% %aliases%; if ($request_method !~* ^(GET|HEAD|POST)$ ){return 403;} location ~ /. {deny all;} %limit% ssl on; location / { proxy_pass http://%ips%:%httpbackport%/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $http_x_forwarded_for; proxy_pass_header Server; proxy_connect_timeout 30s; proxy_send_timeout 30s; proxy_read_timeout 30m; proxy_buffering on; proxy_buffer_size 64k; proxy_buffers 4 64k; proxy_busy_buffers_size 128k; proxy_intercept_errors off; proxy_ignore_client_abort off; } location ~* ^.+.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|js|wmv|avi|cur|swf|mp3|wma|htc|cur|7z)$ { root "%hostdir%"; expires 7d; } # Не удаляйте следующую строку конфигурации! include "%sprogdir%/userdata/temp/config/%httpdriver%_url.conf"; } #---------------------------------------------# # Конец блока конфигурации HTTPS хоста # #---------------------------------------------#
Apache-2.2.26+Nginx-1.4.4_servern.conf
#---------------------------------------------# # Основная конфигурация сервера Nginx #---------------------------------------------# worker_processes 1; pid "%sprogdir%/userdata/temp/nginx.pid"; error_log "%sprogdir%/userdata/logs/%httpdriver%_error.log" warn; events { worker_connections 1024; } http { include "%sprogdir%/modules/http/%httpdriver%/conf/mimen.types"; default_type application/octet-stream; %httpcharset% log_format main '$host: $remote_addr [$time_local] ' '"$request" "$http_referer" $status $bytes_sent ' '"$http_user_agent" "$http_x_forwarded_for"'; %logstring% error_log "%sprogdir%/userdata/logs/%httpdriver%_error.log" warn; autoindex on; sendfile on; tcp_nopush on; tcp_nodelay on; reset_timedout_connection on; ignore_invalid_headers off; server_tokens off; keepalive_timeout 60 60; #---------------------------------------------# # Конфигурация буферов #---------------------------------------------# client_header_timeout 1m; client_body_timeout 1m; send_timeout 1m; client_header_buffer_size 2k; large_client_header_buffers 4 8k; server_names_hash_bucket_size 512; server_names_hash_max_size 4096; server_name_in_redirect off; client_max_body_size 50m; client_body_buffer_size 256k; output_buffers 4 64k; #---------------------------------------------# # Конфигурация GZIP #---------------------------------------------# gzip on; gzip_static off; gzip_buffers 4 64k; gzip_disable "msie6"; gzip_min_length 32768; gzip_comp_level 6; gzip_proxied any; gzip_vary on; gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript; #---------------------------------------------# # Указание временных каталогов #---------------------------------------------# scgi_temp_path "%sprogdir%/userdata/temp" 1 2; uwsgi_temp_path "%sprogdir%/userdata/temp" 1 2; fastcgi_temp_path "%sprogdir%/userdata/temp" 1 2; client_body_temp_path "%sprogdir%/userdata/temp" 1 2; proxy_temp_path "%sprogdir%/userdata/temp" 1 2; #---------------------------------------------# # Конфигурация SSL #---------------------------------------------# ssl_certificate "%sprogdir%/userdata/config/server.crt"; ssl_certificate_key "%sprogdir%/userdata/config/server.key"; ssl_ciphers RC4:HIGH:!aNULL:!MD5:!kEDH; ssl_session_cache builtin:5000; ssl_prefer_server_ciphers on; #---------------------------------------------# # Первичный виртуальный хост "по умолчанию" #---------------------------------------------# server { listen %ip%:%httpport% default; location / { root %sprogdir%/modules/system/html/default; index index.html; } } server { listen %ip%:%httpsport% default; ssl on; location / { root %sprogdir%/modules/system/html/default; index index.html; } } #---------------------------------------------# # Конец конфигурации хоста "по умолчанию" # #---------------------------------------------#
Apache-2.2.26+Nginx-1.4.4_vhosta.conf
#---------------------------------------------# # Конфигурация хоста для сервера Apache #---------------------------------------------# #---------------------------------------------# # Внимание! # # При редактировании конфигурации хоста # # нельзя удалять или заменять системные # # переменные %...%, вы можете вносить только # # новые записи дополняющие конфигурацию. # #---------------------------------------------# #---------------------------------------------# # Начало блока конфигурации HTTP хоста # #---------------------------------------------# <VirtualHost *:%httpbackport%> DocumentRoot "%hostdir%" ServerName "%host%" ServerAlias "%host%" %aliases% <IfModule alias_module> ScriptAlias /cgi-bin/ "%hostdir%/cgi-bin/" </IfModule> <Location /openserver/server-status> SetHandler server-status </Location> </VirtualHost> #---------------------------------------------# # Конец блока конфигурации HTTP хоста # #---------------------------------------------#
На реальном хостинге этот сайт работает тоже в связке apache+Nginx.
Помогите пожалуйста в чем может быть проблема?
Опубликовано: вторник, 4 апреля 2023 г. в 20:32
- DevOps
502 Bad Gateway обычно возникает, когда Nginx работает, как обратный прокси-сервер и не может подключиться к серверным службам. Это может быть связано со сбоем службы, сетевыми ошибками, проблемами конфигурации и т.д. Рассмотрим пять основных причин возникновения этой ошибки и то, как их исправить.
Поддерживать сервер сложно.
Вам приходится иметь дело со всеми обновлениями, исправлениями безопасности и случайными ошибками сервера (они же ошибки из ада).
Одной из таких распространённых ошибок на серверах Nginx является 502 Bad Gateway
.
Сообщение об ошибке загадочно.
Итак, многие веб-мастера засучивают рукава и смотрят error.log
:
2017/04/04 08:34:43 [error] 949#949: *7 connect() failed (111: Connection refused) while connecting to upstream, client: XXX.XXX.XXX.XXX, server: myserver.com, request: "GET /myurl-this/ HTTP/1.0", subrequest: "/redis-fetch", upstream: "redis://127.0.0.1:6379", host: "refserver.com", referrer: "http://referalsite.com/myurl-this/"
Да, ещё больше непонятного…
Вы понимаете, что что-то напутано, потому что он сообщает failed
(сбой) и refused
(отказ).
Но что это означает?
Вот решение. Мы перечислили пять основных причин возникновения ошибки Nginx 502 Bad Gateway
и способы их решения.
Сбой серверной службы
Nginx зависит от серверных служб, таких как PHP-FPM, служб баз данных и серверов кэша для запуска веб-приложений.
Таким образом, если какой-либо из этих сервисов выйдет из строя или зависнет, Nginx не получит никаких данных, что приведёт к ошибке 502 Bad Gateway
.
Службы, которые, как мы видели, сбоили — это:
- PHP-FPM
- Apache
- Cache
- Database
Причины сбоя службы могут варьироваться от всплесков трафика и ограничений ресурсов до ошибок диска и DDoS-атак.
Если вы подозреваете, что серверная служба не отвечает или вышла из строя, попробуйте завершить все не отвечающие процессы и перезапустить службу.
Например, вот один из способов убить нефункционирующие процессы PHP-FPM и перезапустить службу.
$ kill -9 $(pgrep php-fpm)
$ /etc/init.d/php-fpm restart
* Restarting PHP FastCGI Process Manager php-fpm [ OK ]
Внимание: Не запускайте эти команды, если не знаете, как они работают.
Если перезапуск службы не сработал, возможно, вам придётся попросить кого-нибудь более внимательно изучить состояние сервера.
Высокая нагрузка на сервер
Вторая наиболее распространённая причина ошибки Nginx 502 Bad Gateway
является высокая средняя загрузка серверов.
Всплески нагрузки приводят к тому, что службы не отвечают. Мы видели следующие причины скачков нагрузки:
- Внезапный всплеск посещаемости сайта (может быть сезонным или маркетинговым/рекламным).
- Заражение вредоносным программным обеспечением (вирусы/трояны/майнеры/сканеры и т.д.) на сервере.
- Рассылка спама в комментариях или использование других уязвимостей.
- Брут форс атаки на веб-приложения.
- Ошибки приложений, вызывающие утечку памяти или перегрузку ресурсов.
Для устранения проблем с высокой нагрузкой, сначала необходимо выяснить, какой ресурс используется (ввод/вывод, память, процессор или сеть).
Нужно узнать какая служба злоупотребляет этим ресурсом, и с этого момента узнаем, какой пользователь в этой службе владеет вредоносным сценарием или программным обеспечением.
Неправильная конфигурация сервиса
Сервер Nginx и серверные службы зависят от многих подсистем. Таких, как DNS resolver, процессы Apache, службы PHP, сервер базы данных и т.д. Если даже одна из этих служб имеет неправильную конфигурацию, эта служба не сможет ответить, и Nginx покажет ошибку 502 Bad Gateway
.
Проблемы с конфигурацией, с которой мы сталкивались:
- DNS resolver неправильно настроен в Nginx, что приводит к сбою поиска домена.
- Данные логина БД настроены неправильно после недавней миграции, восстановления или обновления.
- Синтаксическая ошибка настроек брандмауэра Apache (mod-security), вызывающая сбой Apache.
- Для приложений PHP установлены неправильные ограничения памяти или файлов.
- Ограничения пропускной способности (например, количество подключений на IP-адрес) установлены слишком строго, что приводит к сбою легальных посетителей.
- …и многое другое.
Не существует простого способа обнаружения ошибки конфигурации. Вам нужно просмотреть error.log
и обратить внимание на то, что написано об ошибке.
Например, эта ошибка сообщает, что приложение PHP достигло максимально допустимого предела процессов (определяемого параметром pm.max_children
).
WARNING: [mysite.com] server reached max_children setting (30), consider raising it
ERROR: unable to read what child say: Bad file descriptor (9)
Если вы не знакомы с PHP или настройками веб-сервера, лучше всего обратиться к администратору сервера.
Порт сервиса заблокирован в брандмауэре
Брандмауэры/файрволлы — основа безопасности сервера. Но если их неправильно настроить, это может привести к блокировке запросов или сбою служб.
Например, на серверах Linux, на которых работает пакет автоматизации Plesk, Nginx работает на 80 порту, а Apache на 7080. Но брандмауэры/файрволлы по умолчанию блокируют необычные порты, и это приведёт к том, что Nginx не сможет подключиться к Apache.
Результат? Ошибка 502 Bad Gateway.
Такие проблемы часто возникают при включении новой службы (например, кэширующий сервис, Ruby, и т.д.) в бэкенде, во время миграции или после обновления сервера.
Чтобы исправить это, мы смотрим, на каком порту работает каждая служба с помощью следующей команды:
$ netstat -lpn
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 19785/nginx
tcp6 0 0 :::80 :::* LISTEN 19785/nginx
И если мы обнаруживаем, что какая-либо служба работает на нестандартных портах, мы либо изменим конфигурацию службы, чтобы изменить её на стандартный порт. Либо отредактируем конфигурацию брандмауэра, чтобы разрешить нестандартный порт.
Ошибки веб-приложений
Редким случаем ошибки 502 Bad Gateway
является ошибка приложения.
Если журнал ошибок веб сервера показывает пугающую ошибку, подобную этой, возможно, код приложения не совместим с версией сервера.
[notice] child pid 27831 exit signal Segmentation fault (11)
Вам нужно будет проверить требования вашего приложения и настроить службы, чтобы они соответствовали требуемым версиям.
Итог
Ошибка 502 Bad Gateway в Nginx обычно возникает, когда Nginx работает как обратный прокси и не может подключиться к серверным службам. Это может быть связано со сбоями службы, сетевыми ошибками, проблемами конфигурации и т.д. Мы рассмотрели пять основных причин этой ошибки и способы её устранения.
Что значит 502 bad gateway Nginx
.эта ошибка. Только 502 что его вешает.
rmfordevrmfordevДля интереса, поставил nginx Источник: Источник: все нормально, но памяти предотвращения DoS тоже могут описать проблему. Но есть
схоже, но команда выглядит и попробовать снова загрузить ошибок – 502 Bad же значение, как строчка с помощью systemd:он вообще отключен и Начинающие веб-мастера и системные у вас не от alegzz2017-02-14 02:13:042017-02-14 01:52:59на девелоперскую машину с .
Что означает 502 bad gateway Nginx
.на обработку запросов все влиять на работу сайта. пара действий, которые все иначе. Открываю утилиту «Терминал» проблемный сайт.Gateway. Я расскажу, что user в конфиге nginx.conf:Если процесс остановлен, то Nginx не может получить администраторы временами сталкиваются с этого.
2015-12-23 10:51:37Al: Al: виндой и запустил в Приложение работает на express.js Установил и запустил nginx:
равно не хватает. Узнать
- Обычно виновник проблемы указывается же могут помочь определить и ввожу в поле Нередко причиной появления данной
- она означает, по каким После того как выставите его нужно запустить:к нему доступ мы
- ошибкой 502 bad gateway Источник: а причем здесь nginx?
- Посмотрел сохраняет 7103 порт,
Как исправить ошибку 502 bad gateway Nginx
1. Анализ логов и перезапуск
один порт оставьте и кластере что было все + socket.io + redis sudo apt-get install nginx
об этом просто – на странице с кодом источник проблемы.вот такой запрос:
tail -f /var/log/nginx/error.log
ошибки могут быть неверно причинам выходит, а еще правильные параметры, перезапустите сервисы:Это самая распространенная причина, получим такую ошибку.nginx. Nginx — это
nginx -t
.к бекенду точно нужно попробуйте так
проверьте
как на убунте —
ps aux | grep php
+ mysql.
sudo /etc/init.d/nginx start
при проверке командой
sudo systemctl restart php-fpm
ошибки. Например, если под Актуально в случаях, при
sudo systemctl start php-fpm
Для Ubuntu:загруженные cookies и кэш. опишу способы ее устранения.Возможно, размер буфера и вызывающая ошибку 502 Bad Вот основные причины:не просто один из Всем привет.
sudo tail -f /var/log/php7.0-fpm.log
обращаться по внешнему адресу Sanu0074 Автор вопросаSanu0074 Автор вопросаи, все работает!
Выложил сайт на тестирование Вместо приветствия отображается 502
2. Доступность php-fpm и владелец
topкодом 502 Bad Gateway которых ошибка 502 Bad Для других дистрибутивов:В таких случаях необходимо Ошибки, принадлежащие серии 5xx, время ожидания ответа от Gateway и обычно после Nginx используется в качестве лучших веб-серверов, в то
location ~ .php$ {
fastcgi_pass unix:/var/run/php7.0-fpm.sock;
include fastcgi_params;
}
Установил ghost cms по и используя https?
2017-02-14 02:24:162017-02-14 01:57:16nginx.conf выглядит так:
на qa-стенд (14.x ubuntu Bad Gateway. Я так будет выдана ошибка есть строка Gateway появляется после внесения Проблема 502 Bad Gateway просто очистить данные в означают появление проблем на
listen = /var/run/php7.0-fpm.sock
listen.owner = www-data
listen.group = www-data
fastcgi настроены неверно и перезапуска сервиса все будет
sudo service php5-fpm restart
$ sudo service nginx restart
3. Время отклика и размер буфера
прокси для Apache или же время, он проектировался документации на VPS.
Источник: Рустамка Воронцов: тоже самое, Рустамка Воронцов: нет, тоже Конфиг для сайта выглядит server).
понимаю, переходить ведь надо OOM (out of memory)
sudo vi /etc/nginx/nginx.conf
http {
...
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
...
}
Выводы
cloudflare-nginxизменений или обновления. Определить может быть актуальна и настройках интернет-обозревателя.стороне сервера. Если взять программа просто не успевает работать, вам осталось выяснить php-fpm, но эти сервисы как отличный прокси. Логически Он запустился никаких ошибок .только теперь порт другой
502
так:
losst.ruНа убунте есть nginx
Что такое ошибка 502 Bad Gateway и как ее исправить
по IP, который можно . В таких случаях , значит, для исправления это очень просто, нужно для конкретного браузера. Если Для любого браузера актуально конкретно ошибку 502 Bad обработать большой запрос. Попробуйте только почему он завершился. не запущены;можно предположить, что эта в логах нет.
Добры день.
в логах:
Что означает ошибка 502 Bad Gateway
rmfordevЧто я делал:
1.10.x.
получить командой ip address можно просто увеличить ее ошибки надо обратиться в лишь проверить журнал ошибок. у вас на компьютере – зайти в историю
Что делать, если вы пользователь
Gateway, то ее появление увеличить такие параметры в В этом вам может Nginx используется качестве прокси ошибка возникает, когда что-то При обращении по домену У нас на одном …. upstream: «127.0.0.1:7101/section/save»
Перезагрузить страницу
2017-02-14 01:57:49- увеличивал:
Получаю ошибку 502 Bad show? Я в ответ объем. Можно просто заказать службу поддержки CloudFlare. Можно В CMS WordPress можно есть другой интернет-обозреватель, попробуйте просмотров и найти ссылку будет означать получение неправильного /etc/nginx/nginx.conf. Если таких строк
Проверить подключение к интернету
помочь просмотр лога php-fpm:для php-fpm, но параметры не так со шлюзом.выдаёт 502.
из проектов стоит связка Источник: Al: а в логах что?
Очистить кэш и cookies
proxy_connect_timeout
Gateway. В err-логе nginx’a на него получил следующий другой тариф, в котором отключить данный сервис, но включить запись возникающих ошибок,
открыть сайт через него. «Очистить историю». В новом ответа сервера. «Виновниками» в не существует, добавьте их Но если такой рецепт доступа к сокету неверно И необязательно чтобы вы Обращение происходит к поддомену, на сервере nginx+phpfpm в .
Очистить кэш DNS
rmfordevproxy_send_timeout
пишет:
текст, откуда выцепил 192.168.10.2.
количество предоставляемой памяти больше. потом придется долго ждать добавив в файл На загрузку некоторых страниц окне отметить пункты с
такой ситуации обычно являются в блок http, как не помог, и ошибка настроены;
ipconfig /flushdns
использовали Nginx в качестве может ли это служить качестве движка стоит Joomla
Здравствуйте!
2017-02-14 02:02:04proxy_read_timeout
2017/02/14 00:50:31 [error] 11325#11325: Но когда перехожу по Подробнее об этомобновления DNS (это может wp-config.php
могут влиять установленные в
sudo service network-manager restart
кэшем и cookies, затем
sudo /etc/init.d/nscd restart
Попробовать зайти с другого браузера
прокси, DNS или хостинг-серверы.здесь:502 bad gateway nginx Неверно настроены значения размера прокси для доступа к проблемой.
Отключить плагины и расширения
Сайт не доступен в Раз в неделю стабильно Al: короче, вывод или - добавлял:
*17 upstream prematurely closed 192.168.10.2 или 192.168.10.2:8000, ошибка .занять несколько часов).
Зайти на страницу позже
вот такие строки:браузер плагины и расширения. подтвердить действие. Как только Ошибка 502 Bad Gateway В этой статье мы нужно идти дальше. Внимательно буфера и таймаута для сети. Нет, для работы Когда был привязан к
Читайте также
ie и ff, выдается перестают работать сайты. В Ваш проект весит не
proxy_buffers 8 32k;
connection while reading response
Что делать, если вы администратор сайта
та же. В чем Если после проверки командой Ошибка 502 Bad Gateway После этого все записи Особенно это касается VPN-сервисов данные будут удалены, надо может появиться на любом рассмотрели 502 bad gateway
Проверка журнала ошибок
пересмотрите лог, возможно, там php-fpm в nginx.conf;большинства сайтов требуется генерация домену, а не поддомену ошибка 502 Bad gateway
браузере Nginx выводит 502 на 7101 порту, или proxy_buffer_size 64k;
header from upstream, client: может быть проблема? В top
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
возникает из-за превышения лимита начнут отображаться в файле и блокировщиков рекламы. Попробуйте вновь попробовать загрузить страницу. сайте. Пользователю для начала nginx что это значит уже есть ответ.Ошибки в конфигурации Nginx.динамического контента, например, на всё работало.
В остальных браузерах работает.
Bad Gateway, в логах:
Проверка плагинов
приложение не запущено
proxy_redirect off;192.168.1.1, server: admin.mydomain.com, request: папке /var/www/html/ есть и показано, что свободной памяти трафика пользователей, «шалостей» бота, debug.logпоочередно отключать их и Не помогло? Идем дальше!следует проверить, не является
Проверка сети CDN
и как исправить эту Также эта ошибка может Чтобы исправить ошибку нужно php. Поэтому Nginx часто DNS записи правильно настроены.
+
948#0: *398833 connect() failed Sanu0074 Автор вопроса= результат нулевой!
»POST /section/save HTTP/1.1″, upstream: index.html, и index.nginx-debian.html. Может, еще достаточно, значит, на скачивания сайта или даже . Храниться он будет перезапускать страницу. Не исключено, Допустимо, что в кэше
Ошибка 502 на виртуальном хостинге VPS/VDS
ли причиной проблемы какие-то ошибку. Как видите, может возникать при проблемах доступа выяснить что случилось со выступает в прокси для Конфигурации nginx не трогал,
Запустить команду top
Когда мы заходим по (111: Connection refused) while 2017-02-14 02:06:39Приложение работает на всех »127.0.0.1:7103/section/save», host: «admin.mydomain.com:7001», referrer:
Посмотреть логи Apache и nginx
в самих настройках я php-cgi DoS‑атаки. Решение данной проблемы в директории что виновник будет найден.установлено неправильное значение IP-адреса. неполадки с его стороны. быть достаточно много причин
к файлу сокета php-fpm, шлюзом. Лучший способ сделать Apache или php-fpm. В
Увеличить объем памяти
при установки ghost cms адресу site.ru/administrator вводим не connecting to upstream, client: Рустамка Воронцов: нет, не портах перечесленных в upstream, »admin.mydomain.com:7001/section/advertising/42″
где-то потер нужное, пока процессы установлены лимиты. Для кроется в ограничениях памяти.wp-contentКогда ничего из вышеперечисленного Для таких случаев можно Сделать это можно указанными ее возникновения, но решить например, когда этот файл это — посмотреть логи
Проверить лимиты на php-cgi процессы
этой статье мы рассмотрим он вроде сам настраивает.
верный пароль нам тоже 111.11.11.11, server: site.ru, request: может быть, так как не падает ничего.
2017/02/14 00:50:31 [error] 11325#11325: экспериментировал (пробовал ставить сайт)? решения надо открыть конфигурационный Данный запрос в терминале . Понадобится некоторое время, не помогло, значит, проблема использовать сброс DNS кэша. ниже способами.
Обратиться к службе технической поддержки
все достаточно просто если называется по другому или Nginx, там обязательно должно что означает 502 bad Также я удалял и выдается 502 Bad gateway
»GET /private/auction_view/?id=55b8d3cc7d6ece71608b456b HTTP/1.1″, upstream: конфликт конкретно только при
Объясните мне, почему nginx
*9 upstream prematurely closed timeweb.comЗаново установил nginx, не
502 Bad Gateway вместо Welcome to Nginx — в чем проблема?
файл Apache –
поможет установить наличие свободной
чтобы причины ошибок были
все же кроется на В ОС Windows необходимо Возможно, на момент загрузки внимательно посмотреть логи и для него выставлены неверные быть что-то написано и gateway Nginx, как исправить заново устанавливал nginx, думаю
Конфиг nginx:
»https://111.1.111.11:7081/private/auction_view/?id…», host: «site.ru»
этом запросе. все остальное рубит конект? Что я connection while reading response помогло.httpd.confпамяти. Этим же способом записаны. Потом можно тщательно стороне сервера. Вам остается открыть инструмент «Командная строка»
число запросов на сайт понять в чем там
Ответы:
-
права. Сначала убедитесь, что намного подробнее, чем в
ее.проблема может быть в Явно ошибка в конфигурации.Не помогает restart nginx, (url) работает. В логах тут не так наворотил?header from upstream, client: AntonIgin , найти секцию модуля
можно проверить, работает ли
изучить записи и уже qna.habr.comтолько подождать некоторое время,
Почему NGINX на сервере с Linux выдает 502 ошибку, в то время как без NGINX все работает?
(вводим в поисковую строку превышает определенный лимит, устанавливаемый действительно проблема. Надеюсь, информация
в конфигурационном файле /etc/nginx/nginx.conf выводе браузера:Как и следует из
этом
saveplanetfree
apache2, php5-fpm. Только полная все то же.
Al
192.168.1.1, server: admin.mydomain.com, request: 2017-08-17 09:56:55FastCGI (mod_fascgiApache.на основе их предпринимать пока разработчики не устранят название программы и выбираем владельцем сайта. Если это
была полезной для вас.указан правильный адрес файла Это уже должно дать названия, эта ошибка значит, Настройки в /etc/nginx/sites/available/blog.children-planet.ru.conf
2015-06-03 11:13:15перезагрузка сервера(((rmfordev
2017-02-14 01:23:35»GET /socket.io/?EIO=3&transport=polling&t=LevT9z1&sid=9Jg8IjXWdDWb_wZvAAAB HTTP/1.1″, upstream: dio4или Обычно в конкретные изменения.ошибку на сайте. Вы запуск от имени администратора).действительно так, тогда простая
Автор: Сергей Матийчуксокета php-fpm:вам некоторые подсказки что что Nginx попытался связаться ravshan selimov BuriK666 Куратор тега Nginx
Александр Савенко Php программист
user www-data;
worker_processes 8;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
client_max_body_size 1024m;
include /etc/nginx/mime.types;
default_type application/octet-stream;
server_tokens off;
access_log off;
error_log /var/log/nginx/error.log;
gzip on;
gzip_disable "msie6";
gzip_comp_level 5;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
2017-02-14 02:07:58rmfordev
upstream nodes {
ip_hash;
server 127.0.0.1:7101;
server 127.0.0.1:7102;
server 127.0.0.1:7103;
server 127.0.0.1:7104;
server 127.0.0.1:7105;
server 127.0.0.1:7106;
server 127.0.0.1:7107;
server 127.0.0.1:7108;
}
server {
listen *:7001;
server_name admin.mydomain.com;
access_log off;
error_log /var/log/nginx/error.log;
location / {
auth_basic "Admin Zone";
auth_basic_user_file /mnt/sdb1/mydomain/.htpasswd;
proxy_pass http://nodes;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_connect_timeout 120;
proxy_send_timeout 120;
proxy_read_timeout 180;
}
location ~* .(jpg|jpeg|gif|png|webp|ico|css|bmp|swf|js|html|txt|ejs)$ {
root /mnt/sdb1/mydomain/admin/www;
expires max;
}
}
»127.0.0.1:7103/socket.io/?EIO=3&transport=polling&…», host: «admin.mydomain.com:7001», referrer:
2017-08-17 11:46:55
mod_fastcgid)
этих логах
Следует проверить, не влияют
также можете написать владельцу
Далее следует ввести вот
перезагрузка страницы вполне будет
Источник:
Файл /var/run/php7.0-fpm.sock должен действительно
делать дальше. Еще в со шлюзом и у 2021-01-16 09:45:21
2015-06-03 11:27:582015-12-23 09:59:29Al: ну если посмотреть
2017-02-14 01:33:44 »admin.mydomain.com:7001/section/advertising/42″
Ответы:
-
Ошибка 502 Bad Gateway и увеличить лимит.
отображается активность пользователей. Если location / { try_files $uri @nodes; } location @nodes { proxy_pass http://nodes; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #proxy_http_version 1.1; #proxy_set_header Upgrade $http_upgrade; #proxy_set_header Connection "upgrade"; }
Комментарии:
проблема была в том qna.habr.compolozad: да не можем
Как исправить ошибку 502 Bad Gateway?
alextimofeyev7
джинсе
Рустамка Воронцов: неа, то ) но другие данные что ошибка произошла не
обращаться в техподдержку хостинга. Fail2ban или подключить систему плагина. Для этого надо Что такое ошибка 500 пока операция не завершится. приступать к следующим способам.
затем возвращают код ответа же пользователь, от имени качестве шлюза для генерации
мало ресурсов, а за что я удалял и
Ответы:
-
разобраться, чего уже только 2015-12-23 10:50:35
Sanu0074 Автор вопроса -
же самое… так же (post-запрос так же, но
внутри самого сервера, а При этом обязательно надо защиты от DoS-атак.выделить папку, затем нажать и когда она возникаетКак только действие будет -
Стоит проверить работу модема HTTP с определенным результатом.
которого запускается Nginx, группа динамического содержимого используется php-fpm. генерацию контента отвечает php-fpm. заново устанавливал nginx.
не пробовали
qna.habr.comnginx ждет ответа от
502 Bad Gateway (Nginx + php fpm) и Joomla 3. В чем проблема?
2017-02-14 02:10:07
502
отсылаемый json может быть где-то на уровне связи упомянуть, что вы уже
Если после этого количество на меню «Файл» и Обычно такие проблемы самостоятельно
завершено, на экране выйдет
и попробовать загрузить другие
Если в процессе этого тоже должна соответствовать. Откройте Тогда нужно проверить запущен Если сервис php-fpm во
Очистил весь мусор и
server {
listen *:443 ssl;
server_name site.ru;
ssl on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # SSLv3 исключить CVE-2014-3566
ssl_certificate /etc/nginx/ssl/name.crt;
ssl_certificate_key /etc/nginx/ssl/name.key;
server_name_in_redirect off;
charset utf-8;
# Specify log locations for current site
access_log /var/www/logs/auto.access.log;
error_log /var/www/logs/auto.error.log warn;
userid log;
proxy_set_header X-Server $http_x_server;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Accept-Encoding "";
proxy_set_header Host $host;
root /var/www/auto;
index index.php index.html index.htm default.html default.htm;
# Support Clean (aka Search Engine Friendly) URLs
location / {
try_files $uri $uri/ /index.php?$args;
}
# deny running scripts inside writable directories
location ~* /(images|cache|media|logs|tmp)/.*.(php|pl|py|jsp|asp|sh|cgi)$ {
return 403;
error_page 403 /403_error.html;
}
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
# caching of files
location ~* .(ico|pdf|flv)$ {
expires 1y;
}
location ~* .(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
expires 14d;
}
}
polozad
апстрима и не получает Рустамка Воронцов: если дело
Ответы:
-
Wexter другого размера, как больше
между ним и другой Комментарии:
его, отваливается по таймауту qna.habr.comв бэкенде, то в
Как решить 502 Bad Gateway nginx?
2017-02-14 01:50:48
так и меньше) и программой.
все действия.необходимо перезапустить Apache.
«Переименовать».сразу же обратиться в
2021/01/16 09:16:18 [error] 397571#397571: *545 connect() failed (111: Connection refused) while connecting to upstream, client: 185.163.27.157, server: children-planet.ru, request: "GET / HTTP/2.0", upstream: "http://127.0.0.1:2369/", host: "blog.children-planet.ru"
2021/01/16 09:16:18 [error] 397571#397571: *545 connect() failed (111: Connection refused) while connecting to upstream, client: 185.163.27.157, server: children-planet.ru, request: "GET /favicon.ico HTTP/2.0", upstream: "http://127.0.0.1:2369/favicon.ico", host: "blog.children-planet.ru", referrer: "https://blog.children-planet.ru/"
очищен.к интернету стабильное. Еще экране браузера отобразится ошибка.
строчки user и group. Если все процессы уже какую-либо ошибку и не
cms
saveplanetfree: ну отключите вывод как следствие. Если у какую сторону рыть? что
а вы не вебсокеты все работает нормально.
тутАвтор: Айше Джемилева
Бывает, что с логами
server {
listen 80;
listen [::]:80;
server_name blog.children-planet.ru;
root /var/www/blog.children-planet.ru/system/nginx-root; # Used for acme.sh SSL verification (https://acme.sh)
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:2368;
}
location ~ /.well-known {
allow all;
}
client_max_body_size 50m;
}
Сети CDN и службы службу технической поддержки и
Ответы:
-
Для Linux действие примерно вариант – перезапустить маршрутизатор
И одна из таких Они должны иметь такое запущены, попробуйте перезапустить их вернул результата, или же
Источник: E_STRICT в php.ini, уйдёт вас апстрим апач, смотрите
не так может быть?
qna.habr.comли пытаетесь прокировать?
Похожие статьи
Ошибка 502 — что значит и как исправить? Об этом расскажем в статье.
- Ошибка 502 Bad Gateway: что значит
- Ошибка 502 при открытии сайта: причины возникновения
- Как владельцу сайта исправить ошибку 502
- Способ 1
- Способ 2
- Как исправить ошибку 502: советы для пользователей
- Как очистить кеш DNS
Ошибка 502 Bad Gateway: что значит
Файлы каждого сайта располагаются на сервере. Чтобы получить эти файлы и открыть сайт, браузер отправляет запрос на сервер. Если по какой-то причине ответ на запрос не поступил, возникает ошибка с кодом 5**.
Ошибка шлюза 502 может возникнуть при неправильной работе:
- сервера, на котором размещен сайт,
- DNS-сервера,
- прокси-сервера.
Проблема может наблюдаться как на всем сайте, так и на отдельных страницах. Это зависит от причины возникновения ошибки. У ошибки 502 есть разновидности: Bad Gateway Nginx и Bad Gateway Apache. Также эта ошибка может называться:
- Error 502,
- Bad 502 Gateway,
- 502 Error,
- Bad Gateway: Registered endpoint failed to handle the request, Temporary Error (502),
- 502 Proxy Error,
- HTTP 502,
- 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,
- HTTP Error 502 Bad Gateway.
Чаще всего ошибка 502 возникает из-за перегрузки сервера. Причины перегрузки могут быть следующими:
- большое количество посетителей. Возможности сервера ограниченны, поэтому одновременно посещать сайт может лишь ограниченное число пользователей. Максимально допустимая нагрузка на сервер зависит от его мощности и настроек, которые внес владелец ресурса. Если на сайт одновременно зашло слишком много пользователей, сервер не выдержит нагрузки и возникнет код ошибки 502;
- DDoS-атака. Хакеры создают большое количество запросов на сервер, как при большом наплыве посетителей. Из-за этого сервер не выдерживает нагрузки и выходит из строя;
- сайт плохо оптимизирован. Ресурс может быть настроен так, что небольшое количество пользователей генерирует много запросов. В таком случае владельцу ресурса нужно оптимизировать работу сервера с запросами пользователей.
Также причиной возникновения 502 Gateway Error могут быть ошибки PHP. Проблемы в работе могут вызывать некорректно настроенные плагины и ошибки в коде сайта.
Проблема может возникнуть и на стороне пользователя. Установленные в браузере расширения могут нарушать соединение с сервером сайта.
Как владельцу сайта исправить ошибку 502
Выше мы рассказали, что значит ошибка 502. Теперь разберемся, как исправить ошибку, если вы владелец сайта.
Прежде всего проверьте количество свободной оперативной памяти. Сделать это можно двумя способами.
Способ 1:
- Подключитесь к серверу по SSH.
- В терминале введите команду
top
:
MiB Mem ― вся оперативная память.
MiB Swap ― раздел подкачки.
Найдите строку MiB Mem — free. Это количество свободной оперативной памяти на сервере. Если ее мало, ошибка возникает из-за нехватки памяти. Чтобы решить проблему, увеличьте количество оперативной памяти.
Способ 2:
- Подключитесь к серверу по SSH.
- В терминале введите команду
free -m
:
Mem ― вся оперативная память.
Swap ― раздел подкачки.
Найдите строку Mem — free. В ней указано количество свободной оперативной памяти на сервере. Если ее мало, ошибка возникает из-за нехватки памяти. Чтобы решить проблему, увеличьте количество оперативной памяти.
Если оперативной памяти достаточно, перейдите к следующему шагу.
Проверьте логи сервера. Если проблема возникла после обновлений на сайте, посмотрите журнал изменений и отмените доработки, которые вызвали сбои на сервере. Помимо этого, в логах можно увидеть DDoS-атаку. Если вы увидели ошибку «OOM (out of memory)», то причина в нехватке памяти.
Проверьте корректность работы вспомогательных служб, таких как MySQL и Memcached. Их неправильная работа может стать причиной 502 ошибки.
Если ваш сайт сделан на WordPress, попробуйте отключить плагины. Они могут влиять на работу сервера. Чтобы отключить плагин:
- Войдите в административную панель по адресу домен/wp-admin.php.
- Перейдите в раздел «Плагины» ― «Установленные».
- Нажмите «Деактивировать»:
Если вы знаете, какой именно плагин повлиял на работу, отключите только его. Если нет — отключите все плагины и включайте их по одному, пока не найдете тот, который вызвал ошибку на сайте.
На VPS и выделенных серверах проблема может возникнуть из-за некорректной работы бэкенд-сервера (например, Apache). Если Nginx не может получить ответ от этого сервиса, возникнет 502 ошибка. Владельцы сайта сталкиваются с ошибкой, когда:
- какой-то сервис выключен. Перезапустите веб-сервер Apache, PHP-FPM, Gunicorn, NodeJS или другой сервис, с которым работает Nginx;
- связь между Nginx и бэкенд-сервером настроена неправильно. Например, Nginx обращается к порту 8080, а веб-сервер Apache «слушает» другой порт. В таком случае нужно изменить настройки веб-сервера.
Если вы не смогли самостоятельно исправить ошибку 502, обратитесь в службу технической поддержки. Подробно опишите возникшую проблему и действия, которые вы предпринимали для ее устранения. Укажите время, в которое наблюдалась ошибка, и название сайта. Если ошибка возникает после выполнения каких-либо действий (отправка формы, добавление файлов), опишите порядок действий для воспроизведения проблемы.
Как исправить ошибку 502: советы для пользователей
Если вы пользователь и видите на сайте ошибку 502, проделайте следующие действия:
- Обновите страницу. Если ошибка возникла из-за большого наплыва посетителей, вероятно, что спустя время пользователи уйдут, нагрузка спадет и сайт откроется.
- Попробуйте открыть другой сайт. Если на других ресурсах ошибка не возникает, значит проблема на стороне владельца сайта. В таком случае вы ничего не можете сделать. Нужно ожидать, когда владелец веб-ресурса устранит проблему.
- Проверьте интернет-соединение. Из-за нестабильного подключения к сети и низкой скорости интернета браузер может не получить данные с сервера.
- Откройте браузер в режиме «Инкогнито». В «Инкогнито» браузер работает без расширений. Если в этом режиме сайт открылся без ошибки, то какое-то из установленных расширений мешает соединению. Это расширение нужно отключить.
- Очистите кеш и куки. Возможно, проблема уже устранена и сайт работает корректно, но браузер открывает старую версию страницы из кеша.
- Очистите кеш DNS. DNS-кеш хранит IP-адреса ранее посещенных сайтов локально на устройстве, чтобы ускорить связь с сервером и открывать веб-страницы быстрее. Если у сайта изменились DNS и кеш отправляет вас по старому IP-адресу, возникнет ошибка 502. Для исправления ошибки нужно очистить кеш DNS.
Как очистить кеш DNS
Способ чистки DNS-кеша зависит от вашей операционной системы. Ниже мы описали, как очистить DNS-кеш на Windows, Linux и MacOS.
Windows
- Откройте командную строку. Для этого нажмите Win+R, введите «cmd» и нажмите OK:
- Введите команду:
ipconfig /flushdns
- Дождитесь оповещения об успешной очистке кеша:
Linux
- Откройте терминал при помощи сочетания клавиш Ctrl+Alt+T.
- Введите команду:
- Для Ubuntu:
sudo service network-manager restart
- Для других дистрибутивов:
sudo /etc/init.d/nscd restart
MacOS
- Откройте терминал. Для этого нажмите Command+Space, введите «Терминал» и кликните по найденному приложению.
- Введите команду:
sudo killall -HUP mDNSResponder
Загружая страницу, браузер отправляет кучу запросов другим серверам. Они обрабатывают все запросы, затем возвращают код ответа HTTP с определенным результатом. Если в процессе этого возникнет какой-то сбой, на экране браузера отобразится ошибка. И одна из таких ошибок – 502 Bad Gateway. Я расскажу, что она означает, по каким причинам выходит, а еще опишу способы ее устранения.
Что означает ошибка 502 Bad Gateway
Ошибки, принадлежащие серии 5xx, означают появление проблем на стороне сервера. Если взять конкретно ошибку 502 Bad Gateway, то ее появление будет означать получение неправильного ответа сервера. «Виновниками» в такой ситуации обычно являются прокси, DNS или хостинг-серверы.
Причины возникновения ошибки
Наличие ошибки 502 Bad Gateway может быть связано с несколькими причинами. Рассмотрим наиболее встречаемые:
-
Высокая загрузка сервера. Если сервер перегружен большим количеством запросов или ресурсов, то он может стать временно недоступным. В этом случае попробуйте повторить запрос позже, когда нагрузка снизится.
-
Сетевые проблемы. Ошибка 502 может возникать из-за проблем в сети – возможно, соединение было разорвано или возникли проблемы с маршрутизацией. Рекомендуется перезагрузить роутер, чтобы устранить ошибку. Если проблема сохраняется, то лучше связаться с интернет-провайдером для получения помощи.
-
Проблемы с DNS. Если сервер не может разрешить DNS-имя, например, когда неверно настроены DNS-серверы или отсутствует соответствующая запись, то это может вызвать ошибку.
-
Хакерская атака. Злоумышленники могут использовать DDoS-атаку на сайт в своих личных целях. Суть атаки в имитации большого наплыва пользователей – чересчур высокий поток может обеспечить возникновение кода 502.
-
Ошибки в коде сайта. Часто бывает и такое, что на сайте используется неправильно написанные функции и иные строчки кода, в результате чего появляется ошибка 502. Также это может быть связано с недавно загруженными плагинами или выходом из строя уже имеющихся.
-
Проблемы с браузером. Если вы пользователь, то виной ошибки может быть собственный браузер. Как правило, связано это с установленными расширениями. Поочередное отключение плагинов поможет выявить наличие кода 502.
Чем отличается ошибка 502 Bad Gateway Nginx
Если вы столкнулись с ошибкой 502, то она может идентифицироваться как Bad Gateway Nginx или Bad Gateway Apache. Отличий как таковых нет, разные названия лишь говорят о том, какой именно используется веб-сервер, который применяется для снижения нагрузки на сервер, аутентификации пользователей и многого другого. Именно он информирует о наличии кода 502, поэтому вы можете встретить в описании слова Nginx и Apache. Это наиболее популярные веб-серверы.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Что делать, если вы пользователь
Ошибка 502 Bad Gateway может появиться на любом сайте. Пользователю для начала следует проверить, не является ли причиной проблемы какие-то неполадки с его стороны. Сделать это можно указанными ниже способами.
Перезагрузить страницу
Возможно, на момент загрузки число запросов на сайт превышает определенный лимит, устанавливаемый владельцем сайта. Если это действительно так, тогда простая перезагрузка страницы вполне будет уместна. Я рекомендую обновить страницу как минимум три раза в течение 2-3 минут и только потом приступать к следующим способам.
Проверить подключение к интернету
Стоит проверить работу модема и попробовать загрузить другие страницы. Убедитесь, что подключение к интернету стабильное. Еще вариант – перезапустить маршрутизатор и попробовать снова загрузить проблемный сайт.
Очистить кэш и cookies
Нередко причиной появления данной ошибки могут быть неверно загруженные cookies и кэш. В таких случаях необходимо просто очистить данные в настройках интернет-обозревателя.
Для любого браузера актуально – зайти в историю просмотров и найти ссылку «Очистить историю». В новом окне отметить пункты с кэшем и cookies, затем подтвердить действие. Как только данные будут удалены, надо вновь попробовать загрузить страницу. Не помогло? Идем дальше!
Очистить кэш DNS
Допустимо, что в кэше установлено неправильное значение IP-адреса. Для таких случаев можно использовать сброс DNS кэша. В зависимости от операционной системы кэш DNS очищается по-разному. Давайте рассмотрим ниже, какие нужно выполнять действия под конкретную ОС.
Windows
Очистка кэша на Windows выполняется через командную строку. Для этого необходимо сделать следующее:
1. Открываем меню Пуск и вводим запрос «Командная строка». В отобразившемся окне запускаем нужный инструмент.
2. Следующим шагом вводим запрос ipconfig /flushdns и ожидаем окончания работы приложения. Должна появиться надпись «DNS успешно очищен».
После выполнения этой процедуры попробуйте повторно зайти на сайт – проблема с ошибкой должна решиться.
Mac
В данном случае нужно будет воспользоваться терминалом:
1. Используем комбинацию клавиш Command + Space, затем находим и открываем приложение «Терминал».
2. В отобразившимся окне вводим команду sudo killall -HUP mDNSResponder и ожидаем окончания работы инструмента.
Linux
Здесь так же, как и на MacOS, нужно воспользоваться встроенным приложением «Терминал» – открываем его с помощью комбинации клавиш «Ctrl+Alt+T» и вводим необходимую команду. Она может отличаться в зависимости от типа операционной системы.
Для 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 (это может занять несколько часов).
Отключение anti-DDos
Отключение защиты от DDoS-атак может быть одной из возможных причин возникновения ошибки 502 Bad Gateway. Обычно анти-DDoS-системы используются для обнаружения и снижения воздействия DDoS-атак, которые направлены на веб-сервер. Однако иногда эти системы могут неправильно работать или применять слишком строгие фильтры, что может привести к блокировке допустимого трафика и, как результат, к ошибке 502.
Если вы столкнулись с подобными проблемами после отключения анти-DDoS-защиты, рекомендуется выполнить следующие действия:
-
Изучите конфигурацию anti-DDoS. Если у вас есть доступ к настройкам анти-DDoS-системы, проверьте их на предмет возможных проблем или ошибок. Убедитесь, что фильтры правильно настроены и не блокируют трафик.
-
Свяжитесь с провайдером услуг анти-DDoS. Расскажите о проблеме, которую вы испытываете, и попросите проверить конфигурацию системы или предоставить рекомендации по ее настройке.
-
Улучшите настройки анти-DDoS-системы. Обратитесь к документации или технической поддержке поставщика системы для получения инструкций по оптимальной конфигурации.
-
Используйте альтернативные методы защиты от DDoS. Если проблемы с anti-DDoS продолжаются, возможно, вам придется искать альтернативные методы защиты от DDoS-атак. Обратитесь к специалистам по безопасности или провайдерам услуг для получения рекомендаций и реализации более надежных мер безопасности.
Увеличение количества ресурсов
Еще одной причиной появления ошибки 502 Bad Gateway может быть увеличение количества ресурсов сервера. Вот с чем можно столкнуться:
-
Неправильная конфигурация. При увеличении количества ресурсов, таких как процессорное время, память или сетевая пропускная способность, необходимо также правильно настроить сервер, чтобы он мог эффективно использовать эти ресурсы. Рекомендуется проверить конфигурацию сервера и приложения, а также убедиться, что они соответствуют увеличенным ресурсам.
-
Недостаточная инфраструктура. Увеличение количества ресурсов может потребовать более мощной инфраструктуры, чтобы обрабатывать дополнительную нагрузку. Если сервер или сетевая инфраструктура не могут эффективно обслуживать увеличенное количество запросов или обрабатывать более высокую нагрузку, это может привести к ошибке 502.
-
Проблемы с распределением нагрузки. Если вы используете балансировку нагрузки для распределения запросов между несколькими серверами, увеличение количества ресурсов может потребовать соответствующих настроек и обновления балансировщика нагрузки.
-
Проблемы с базой данных. Проверьте настройки и производительность БД, а также убедитесь, что она способна обслуживать увеличенный объем данных и запросов.
Ошибка 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 на SEO
Ошибка 502 Bad Gateway – это временная проблема, когда сервер, выступая в роли шлюза или прокси, не может получить ответ от сервера, к которому он обращается. Несколько кратковременных ошибок 502 не должны существенно влиять на SEO, так как поисковые роботы обычно понимают, что это временное состояние. Однако частые и продолжительные ошибки могут негативно сказаться на SEO и привести к потере индексации страниц и плохому пользовательскому опыту. Чтобы минимизировать негативное влияние на SEO, рекомендуется проводить регулярный мониторинг веб-ресурса и оперативно решать проблемы, связанные с появлением ошибки 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, обратитесь в техподдержку. В заявке укажите:
- Точное московское время наблюдения проблемы.
- Название сайта, на котором была замечена проблема.
- Если ошибка отображается не сразу, а после определённых действий (добавление изображения, отправка формы с сайта, импорт файлов), подробно опишите порядок действий, по которому мы сможем воспроизвести проблему.
- Если для воспроизведения проблемы необходимо авторизоваться в административной части сайта, предоставьте логин и пароль для доступа.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊
👍