Как исправить ошибку 502 Bad Gateway в WordPress
Опубликовано: 2020-05-09Один из самых неприятных аспектов работы веб-сайта - это устранение ошибки, когда вы не знаете, почему это происходит. Некоторые проблемы, такие как ошибка 502 неверного шлюза, могут иметь множество потенциальных причин. Это означает, что вам, возможно, придется попробовать несколько решений, прежде чем вы выберете правильное. В этом посте мы покажем вам, как справиться с этой сложной ошибкой и решить ее.
Давай приступим к работе!
Подпишитесь на наш канал Youtube
Что такое ошибка 502 Bad Gateway (и почему это происходит)

Ошибка 502 неверного шлюза появляется время от времени и часто означает, что на вашем сервере возникла проблема.
Когда вы посещаете веб-сайт, ваш браузер отправляет один или несколько запросов на сервер, на котором размещен сайт. Если все работает правильно, этот сервер отправит обратно запрошенную вашим браузером информацию, и веб-сайт загрузится. С другой стороны, ошибка 502 неверного шлюза возникает, когда сервер отправляет обратно «недопустимый» ответ. Это может означать, что время ожидания соединения истекло, или может быть результатом ряда других проблем.
Официальное определение из сети разработчиков Mozilla:
Код ответа на ошибку сервера 502 Bad Gateway по протоколу передачи гипертекста (HTTP) указывает, что сервер, выступая в качестве шлюза или прокси, получил недопустимый ответ от вышестоящего сервера.
Пока это может показаться простым. Однако связь между вашим браузером и большинством веб-сайтов не так проста, как раньше. Например, запрос вашего браузера может быть маршрутизирован через прокси-сервер, прежде чем попасть на рассматриваемый хост, поэтому может быть сложно определить, где находится проблема. Многие веб-сайты также используют несколько серверов, что еще больше усложняет ситуацию, поскольку любой из них может быть причиной ошибки 502.
Все это означает, что существует несколько потенциальных причин для этого конкретного кода ошибки. Это могло быть результатом:
- Ошибки в вашей базе данных.
- Сервер, срок действия которого истек, в настоящее время недоступен или просто не работает должным образом.
- Сервер перегружен слишком большим количеством запросов. Возможно, это будет DDOS-атака или даже более крупный, чем предполагалось, всплеск трафика.
- Проблема с вашим обратным прокси-сервером.
- Неисправные скрипты PHP, любезно предоставленные одним из ваших плагинов или тем.
Хорошая новость заключается в том, что если проблема связана с сервером, вам может не потребоваться никаких действий. В этих случаях ваш хостинг-провайдер обычно быстро приходит на помощь (поскольку клиенты обычно не ценят время простоя). Обязательно обратитесь в службу поддержки вашего хоста как можно скорее после получения уведомления о том, что на вашем сайте возникла ошибка 502.
Имея это в виду, мы собираемся сосредоточиться на том, что делать, если ошибка неверного шлюза 502 не исчезнет сама по себе быстро. В конце концов, большинство веб-сайтов не могут позволить себе простаивать в течение нескольких часов, поэтому, если эта ошибка не исчезнет, пора приступить к устранению неполадок с вашей стороны.
Как исправить ошибку 502 Bad Gateway
Прежде чем перейти в режим устранения неполадок, вы можете выполнить один быстрый тест, чтобы определить, отвечает ли ваш сервер должным образом. Вы можете попробовать запустить traceroute, чтобы в первую очередь проверить, доступен ли ваш сервер. Если это так, то проблема, вероятно, на вашей стороне. Если нет, тогда вы можете связаться со своим хостинг-провайдером.
Вам также следует попробовать сбросить настройки маршрутизатора и проверить настройки системы доменных имен (DNS). Это базовые исправления, которые иногда позволяют устранить ошибку 502, и с ними достаточно легко справиться самостоятельно. Однако если вы обнаружите, что ни одно из решений не решает проблему, вы можете использовать следующие методы для устранения ошибки 502.
Очистите кеш браузера
Ошибка 502 может появиться при попытке доступа к своему веб-сайту, даже если основная проблема была решена. Это происходит, если ваш браузер полагается на свой кеш, а не загружает последнюю версию вашего сайта с сервера.
Часто бывает достаточно просто перезагрузить сайт несколько раз. Особенно, если вы используете принудительную перезагрузку с помощью Shift-CTRL-R в Windows или Shift-CMD-R на Mac.
Если все вышеперечисленное не помогло, вам следует приступить к очистке кеша вашего браузера вручную. Пользователи Chrome могут сделать это, перейдя в меню « Настройки»> «Дополнительно» и выбрав пункт « Очистить данные просмотра» :

Найдите параметр « Кэшированные изображения и файлы» на вкладке « Основные » и нажмите « Очистить данные» после его выбора. Имейте в виду, что это меню также удалит вашу историю просмотров, если вы не отключите эту настройку перед нажатием кнопки « Очистить данные» .
Этот же процесс можно выполнить с помощью Firefox, Safari, Internet Explorer и почти любого другого браузера. После очистки кеша попробуйте еще раз перезагрузить сайт. Если ошибка повторится, пора стать серьезным. Для получения дополнительной информации об очистке кеша вы можете найти ее на главной странице Hubspot по этой теме.
Временно отключите вашу сеть доставки контента (CDN)
Ранее мы упоминали, что запросы вашего браузера иногда маршрутизируются через обратный прокси-сервер. Другими словами, использование прокси-сервера создает посредника между браузером пользователя и сервером веб-сайта.
Некоторые службы, такие как сети доставки контента (CDN), полагаются на технологию обратного прокси для максимально эффективной маршрутизации входящего трафика. Однако иногда этот дополнительный уровень может создавать проблемы, когда вы пытаетесь подключиться к исходному серверу веб-сайта. Когда это произойдет, ваши посетители (и вы) могут столкнуться с ужасной ошибкой 502 плохого шлюза.
К счастью, достаточно легко проверить, не вызывает ли ваш CDN эту проблему. Все, что вам нужно сделать, это временно отключить службу, а затем проверить, правильно ли загружается ваш сайт без нее. Процесс отключения вашего CDN будет зависеть от используемой вами службы, но обычно это просто.
Например, пользователям Cloudflare просто нужно перейти на вкладку « Обзор » на своей панели инструментов. Внутри вы найдете список свойств, в которых запущена служба. Тогда вам нужно посмотреть на большую кнопку паузы в разделе Приостановка веб - сайта, и нажмите на него:

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

Если вы используете другой CDN, вам необходимо изучить его документацию, чтобы узнать, как временно отключить службу. Однако, если проблема не в вашем CDN, вы можете попробовать еще одно исправление.
Тестируйте темы и плагины WordPress
До сих пор мы говорили о трех потенциальных причинах ошибки 502: ваш сервер, ваш браузер и посреднические службы, такие как CDN. Остается только один вариант, если вы уверены, что проблема на вашей стороне, и это ваш веб-сайт. Если вы используете именно WordPress, один из ваших плагинов или тем может пытаться выполнить скрипт, который ваш сервер не может правильно загрузить. Это может привести к неверному ответу, когда ваш браузер отправляет запрос, вызывая ошибку 502.
У вас может быть только одна активная тема за раз, поэтому вы можете просто деактивировать текущую и временно переключиться на тему WordPress по умолчанию, чтобы посмотреть, устранит ли это ошибку. С другой стороны, выяснение того, вызывает ли плагин проблемы, может занять больше времени, в зависимости от того, сколько из них сейчас активно.
Поскольку в настоящий момент у вас нет доступа к панели управления из-за ошибки, вам необходимо вручную отключить плагины и темы. Имейте в виду, что этот процесс не включает в себя удаление плагинов и тем, а их повторная активация занимает всего несколько минут. Так что на функциональность вашего сайта это никак не повлияет. Тем не менее, на всякий случай у вас должна быть готова последняя резервная копия.
Затем откройте FTP-клиент по вашему выбору. Мы большие поклонники FileZilla, поэтому будем использовать его в качестве примера. Войдите на свой веб-сайт через FTP и перейдите в папку public_html - wp-content - plugins . Внутри должна быть папка для каждого из установленных вами плагинов - даже для тех, которые не активны:

Если вы щелкните правой кнопкой мыши любую из этих папок, вы увидите несколько вариантов, в том числе один с надписью « Переименовать» . Нажмите на это сейчас и измените имя папки на что-то вроде disabled.pluginname :

Когда вы сейчас заходите на свой сайт, WordPress не сможет найти этот плагин, поэтому он загрузится без него. Если плагин, который вы только что деактивировали, вызывал ошибку 502, ваш веб-сайт должен загрузиться правильно. Чтобы быть уверенным, не забудьте использовать команду CTRL + F5 (или эквивалент OS X), чтобы заставить ваш браузер удалить свой кеш перед перезагрузкой сайта.
Чтобы избежать путаницы, вы должны устранять неполадки по одному плагину за раз. Измените имя папки, попробуйте перезагрузить веб-сайт и посмотрите, отображается ли по-прежнему ошибка 502. Если это так, восстановите исходное имя папки. Повторите этот процесс с каждой папкой, пока не найдете ту, которая вызывает ошибку, или пока вы не протестируете каждый плагин. Вы можете использовать тот же процесс для тестирования своей активной темы, что заставит WordPress использовать вместо этого одну из своих тем по умолчанию.
Если один из ваших плагинов или тем является причиной ошибки 502, вы можете удалить его полностью и искать замену. Если он устарел, вы также можете попробовать обновить его, чтобы увидеть, решит ли это проблему. В некоторых случаях проблемный скрипт будет исправлен быстро, поэтому вы всегда сможете возобновить использование этого плагина или темы позже.
Другие быстрые (потенциальные) исправления
Эти исправления, вероятно, найдут и исправят виновника, если ошибка 502 вызвана чем-то на вашей стороне, а не сервером. Если это не исчезнет, помните, что мы рекомендуем вам связаться с вашим веб-хостингом, чтобы они могли отсортировать сервер и диагностировать любые проблемы на нем.
Тем не менее, вы можете ускорить процесс, выполнив пару быстрых проверок.
Первая из этих проверок - это любые журналы, которые мог сохранить ваш сайт. Если это WordPress, есть несколько способов увидеть это. У нас есть серьезная статья об использовании этих журналов для улучшения вашего сайта, которые могут здесь помочь. Сайты WP, работающие под управлением версии 5.0 или выше, оснащены инструментом Site Health, который вы можете проверить на панели администратора, поэтому убедитесь, что вы видите, что он говорит.
Вы также можете убедиться, что файлы cookie вашего браузера не загружены. Они полностью отделены от кеша, и мы не всегда хотим их очищать. Если вы сохраните какую-либо информацию, сохраненную в вашем браузере, это сотрет ее. Но те же самые файлы cookie могут также устанавливать соединение между вами и этими сайтами, так что это может быть уловка-22. В любом случае очистить файлы cookie в любом крупном браузере довольно просто.
Если ваш сайт просто зависает, возможно, что-то в фоновом режиме требует больше времени для выполнения. Вы можете увеличить время выполнения, разрешенное сайтом WordPress, просто отредактировав файл functions.php . Если вы не используете WP, вы также можете сделать это через .htaccess или php.ini . У Thimpress есть довольно хорошее руководство о том, как все это сделать.
Наконец, вы можете проверить наличие ошибок DNS. Под этим мы подразумеваем, что вы переместили хосты или перешли на другой план или сам сервер. Вы могли настроить серверы имен или что-то еще, что могло пойти не так. Настройки DNS очень специфичны и подвержены неправильной настройке. Итак, войдите в свою cPanel или панель управления, убедитесь, что все согласовано между вашим хостом и вашим регистратором домена и настройками на самом вашем веб-сайте. Иногда перекрещивается проволока или одна-единственная опечатка останавливает все на своем пути. Небольшая корректура DNS может иметь большое значение.
И если вы действительно заинтересованы в том, чтобы убедиться, что DNS в порядке с вашей стороны, вы можете запустить терминал и вручную очистить кеш DNS.
Заключение
Устранение ошибок WordPress часто бывает проще, чем вы думаете. Даже проблемы, которые имеют множество потенциальных причин, например, ошибка неверного шлюза 502, хорошо изучены и задокументированы. Возможно, вам придется опробовать несколько решений, прежде чем вы выберете одно, которое работает, но процесс устранения неполадок не займет слишком много времени, если вы будете следовать правильным инструкциям.
Если вы столкнулись с ошибкой 502 неверного шлюза на своем веб-сайте, и она не исчезнет через несколько минут (или после быстрого звонка в службу поддержки вашего хоста), скорее всего, проблема на вашей стороне. Просто выполните описанные выше процессы и уловки, и вы и ваши пользователи сразу же вернетесь на свой сайт.
Вы когда-нибудь сталкивались с ошибкой 502 неверного шлюза на одном из своих веб-сайтов? Поделитесь с нами своим опытом в разделе комментариев ниже!
Миниатюрное изображение статьи от windwheel / shutterstock.com.
