Ошибка 502 Bad Gateway: что это значит и как её исправить
Что делать с плохими шлюзами?
Иллюстрация: Оля Ежак для Skillbox Media
Досадно, когда вместо нужного вам ресурса возникает сообщение об ошибке. Хорошая новость в том, что если код ошибки начинается с пятёрки (500–512), то с вашим устройством, скорее всего, всё в порядке. Проблемы возникли на стороне сервера.
В этой статье разберёмся, что такое ошибка 502 Bad Gateway (плохой шлюз), почему она возникает и как её исправить.
Содержание
Ошибка 502 Bad Gateway — что это значит
Уведомление «Error 502» сопровождается пояснением «Bad Gateway», что переводится как «плохой шлюз». Оно возникает, когда сервер, действующий как шлюз или прокси, получает некорректный ответ от вышестоящего сервера. Проще говоря, сервер, к которому вы обращаетесь, не смог получить корректный ответ от другого сервера, необходимого для обработки запроса.
Причины ошибки 502
Мы знаем, что ошибка возникла на сервере. Но почему это произошло? Вот возможные варианты.
Перегрузка сервера
Если сервер не успевает обрабатывать запросы, то это вызывает его перегрузку. Например, это может случиться, если к серверу обращается сразу много пользователей и вычислительных ресурсов не хватает для нормальной работы.
Ошибка на стороне сервера
Веб-сервер может столкнуться с внутренними проблемами, которые препятствуют его нормальной работе:
- Ошибки конфигурации. Неправильно настроенный сервер может сбоить, пропуская запросы или отклоняя их.
- Некорректные обновления. Иногда после обновления установленные программы начинают конфликтовать друг с другом.
DNS-проблемы
DNS (Domain Name System) играет ключевую роль при переводе доменных имён (привычных нам имён интернет-ресурсов, например skillbox.ru) в IP-адреса. Неправильная конфигурация DNS может привести к тому, что запросы будут направляться на неправильные IP-адреса.
Читайте также:
Проблемы с сетью
Сетевые устройства и маршрутизаторы также могут создавать проблемы:
- Сетевые перегрузки. Перегрузка маршрутизаторов и других сетевых устройств может привести к задержкам или потере пакетов, что вызовет ошибки в соединении.
- Блокировка брандмауэром. Сетевые брандмауэры могут блокировать определённые запросы, что приводит к невозможности обмениваться данными.
Некорректные настройки прокси-сервера
Прокси-серверы играют роль посредников между клиентом и сервером. Неправильная настройка прокси может привести к тому, что запросы будут некорректно обрабатываться или передаваться. Кроме того, прокси может перестать работать. В таком случае пользователь точно встретит ошибку 502 при попытке зайти на сайт.
Что делать, если вы пользователь
Перезагрузите страницу. Есть вероятность, что запрос к серверу просто потерялся или был неправильно обработан.
Зайдите на другой сайт. Если остальные сайты в интернете работают, то, вероятнее всего, ошибка на стороне запрашиваемого ресурса. В этой ситуации надо дождаться, пока администраторы решат проблему.
Проверьте подключение к интернету. При плохом подключении пакеты данных часто теряются. В результате сервер может не получить полного запроса или клиент — полного ответа, что приведёт к возникновению ошибки 502.
Используйте режим инкогнито. В режиме инкогнито браузер работает без установленных расширений. Если получилось зайти на сайт, значит, в обычном режиме сделать это мешают расширения. Найти виновника можно методом перебора.
Чтобы войти в режим инкогнито в Google Chrome, нажмите Ctrl + Shift + N. В других браузерах эта функция может называться «Приватные окна» или «Частный доступ».
Очистите кэш и куки браузера. Браузеры кэшируют часто посещаемые страницы, чтобы пользователь мог быстрее их открывать. Возможно, сайт уже починили, но ваш браузер продолжает открывать сломанную версию из памяти.
Чтобы очистить кэш браузера Google Chrome, нажмите на значок трёх точек справа и в открывшейся боковой вкладке выберите: «Настройки» → «Конфиденциальность и безопасность» → «Удалить данные браузера».
Попробуйте другой браузер или устройство. Иногда ошибка 502 возникает из-за неудачных обновлений браузера или из-за того, что администраторы сайта используют плагин, который «не дружит» с вашим ПО. В этих случаях попробуйте открыть ресурс с помощью другого браузера.
Сбросьте DNS-кэш. Звучит сложно, но дело минутное. Если у вас Windows, то зайдите в командную строку (Win + R → cmd.exe), введите ipconfig /flushdns и нажмите Enter. Спустя пару секунд появится сообщение о том, что DNS-кэш очищен.
Если у вас macOS — вызовите терминал (Command + Space) и введите команду sudo killall -HUP mDNSResponder.
Для пользователей Linux механизм сброс DNS-кэша зависит от дистрибутива. Например, для Ubuntu нужно в терминале (Ctrl + Alt + T) запустить команду sudo /etc/init.d/nscd restart. Этот способ сработает во всех дистрибутивах, построенных на Ubuntu.
Что делать, если вы администратор сайта
В большинстве случаев ошибка 502 появляется на стороне запрашиваемого ресурса. Если вы владелец сайта и пользователи жалуются на его недоступность, то попробуйте сделать следующее.
Проверьте количество свободной памяти
Недостаток памяти может быть одной из причин возникновения ошибки 502 Bad Gateway. Если сервер работает на Linux, то есть несколько способов проверить объём свободной памяти:
- команда top;
- команда free -m.
Введите одну из команд в терминале, в выводе найдите строку Mem, которая отображает всю оперативную память сервера. Значение free показывает количество свободной памяти. Если значение free низкое, обновите оборудование или улучшите тариф у провайдера.
Проверьте логи сервера
В логах можно найти всю информацию о работе сервера, включая историю изменений. Это поможет выявить, когда и после каких событий впервые появилась ошибка. Обычно логи сохраняются в системной папке /var/log/, найдите записи и следуйте инструкции:
- Отследите, когда ошибка 502 появилась в первый раз.
- Если она возникла после обновлений на сайте, отмените их в журнале изменений.
- Если система зафиксировала DDoS-атаку, временно ограничьте доступ к сайту. Можно заблокировать IP-адреса, с которых идёт атака, или применить геоблокировку.
Проверьте плагины в WordPress
Некоторые плагины и темы в WordPress могут конфликтовать между собой и приводить к ошибке. Обновления плагинов тоже могут нарушать работу сайта. Чтобы отключить подозрительные плагины, выполните следующие шаги:
- Войдите в панель управления WordPress.
- Перейдите во вкладку «Плагины» → «Установленные».
- Нажмите кнопку «Деактивировать» рядом с плагином, который, как вам кажется, повлиял на работу сайта.
Если вы не уверены, что ошибка появилась из-за плагина, можно отключить все расширения на сайте. Затем включайте плагины по одному, чтобы определить виновника.
Свяжитесь со службой поддержки хостинг-провайдера
Если ничего из вышеперечисленного не помогло, обратитесь в службу поддержки вашего хостинг-провайдера. Подробно опишите проблему и расскажите о действиях, которые вы предприняли до обращения. Действуйте по инструкции:
- Сообщите домен сайта, на котором возникла ошибка.
- Укажите точное время появления первых жалоб от пользователей.
- Если проблема появилась после определённых действий с вашей стороны, обязательно расскажите об этом. Так сотрудникам службы поддержки будет легче её воспроизвести.
Особенности ошибки 502 Bad Gateway в Nginx
Разработчики веб-сайтов часто используют связку Nginx и бэкенд-серверов (PHP-FPM, Gunicorn, NodeJS). Сообщение Error502 возникает, если Nginx не может получить ответ от сторонних сервисов.
В таком случае для устранения ошибки 502 администраторам необходимо:
- Проверить состояние сторонних бэкенд-серверов и убедиться, что они работают корректно.
- Перезагрузить Nginx вместе с бэкенд-серверами, чтобы устранить временные сбои.
- Проанализировать логи для выявления причины ошибки.
- При необходимости следует обновить конфигурацию Nginx.
Если ничто из вышеперечисленного не помогло, обратитесь к службе поддержки VPS.
Читайте также:
Что в итоге
- Ошибка 502 Bad Gateway возникает, когда сервер, работающий в качестве шлюза или прокси, получает некорректный ответ.
- Чаще всего она возникает из-за перегрузки сервера, проблем с DNS и неполадок с сетью.
- Если вы встретились с ошибкой 502 как пользователь, то попробуйте перезагрузить страницу, очистить кэш или зайти на страницу в другом браузере.
- Администраторам сайтов стоит проверить объём свободной памяти на сервере и корректность работы стороннего ПО.
- Быстрее всего поможет служба поддержки: специалисты проанализируют логи сервера и найдут подозрительные действия.
С ошибкой 502 вы теперь справитесь! А с остальными сможете? Пройдите наш тест по статусным кодам ошибок и узнайте!
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!