Lenovo ноутбуки, нетбуки и ультрабуки

Сайт и форум пользователей ноутбуков Lenovo

Ошибка 502 Bad Gateway

16.09.2013



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

Ошибка 502 Bad Gateway дословно переводится с английского как плохой шлюз. Такие проблемы возникают в том случае, если наблюдается сбой в работе прокси-сервера или же хостинг-сервера. Ошибки такого типа относятся к серии 5 xx. Причинами их возникновения являются проблемы на стороне сервера. Информация, изложенная ниже, поможет изучить возможные причины появления такой ошибки. А идентифицировав источник проблемы, можно будет её устранить.

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

Ошибка 502 заключается в невозможности обработки запроса, что значит в сторону сервера он идёт, а вот возврата при этом не последует, о чём nginx и сообщает пользователю.

Причины возникновения ошибки 502 Bad Gateway

Причин возникновения такой ошибки на самом деле может быть несколько. Одной из самых распространённой из них является банальная нехватка ресурсов сервера. Причём ограничение сервера в конфигурации может производиться абсолютно осознанно. За это отвечает администратор сайта. Кроме этого, причиной возникновения проблемы может быть и смена настроек в работе сервера.



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

Работа PHP через FastCGI чревата ограничением php-cgi процессов. Такое возникает при перезагрузке сервера или при установленном ограничении на нём. Ресурсов может не хватать по совершенно разным причинам.

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

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

Атака DdoS на сервер. Очень часто похожие симптомы проявляются в том случае, если сервер атакован.

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

Источником проблемы может быть не только синтаксис языка, но также и ошибки расширений PHP. В таком случае ответов с сервера не последует вообще. Так называемый обработчик на отдаёт ничего наружу. Сервер nginx позиционирует это как ошибку, ведь его соединение с Apache при этом не активно. Чтобы идентифицировать такую ошибку, можно применить метод исключений. К примеру, если текст и картинки открываются нормально, а при обращении к скрипту появляется ошибка 502, то велика вероятность того, что вы имеете дело с проблемой расширений PHP.

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

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

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

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

Информация оказалась полезной? Поделитесь статьей с читателями своего блога:

Опубликовать в twitter.com         Опубликовать в своем блоге livejournal.com


Рекомендуем:

    Комментарии: 0

    Оставьте комментарий

Реклама от Google

Новое на форуме