5 способов устранения ошибки 503 Backend Fetch Failed

Ошибка 503 Backend Fetch Failed появляется, когда кэш HTTP не может получить запрошенные данные с веб-сервера.

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

Независимо от этого, ниже мы перечислили, что вы можете сделать как пользователь и как веб-мастер, чтобы исправить ошибку 503 Backend Fetch Failed.

Что вызывает ошибку 503 Backend Fetch Failed?

Как следует из названия, эта ошибка чаще всего возникает из-за проблем с бэкендом, таких как перегруженность серверов (в часы пик) или ошибки в коде. Один неисправный плагин или сайт на общем сервере также может вызвать эту ошибку для других сайтов, размещенных на том же сервере.

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

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

Что вы можете сделать как пользователь/посетитель?

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

  1. Нажмите F5 или кнопку обновления и обновите страницу несколько раз.
  2. Убедитесь в отсутствии потерь пакетов с помощью теста ping. Если это так, переместитесь ближе для более надежного соединения или используйте кабель Ethernet.
  3. Перезагрузите устройство и маршрутизатор.
  4. Если в браузере открыто много вкладок, закройте некоторые из них и попробуйте загрузить веб-сайт сейчас.
  5. Сбросьте конфигурацию браузера на настройки по умолчанию. Или же попробуйте использовать другой браузер.
  6. Измените DNS и сбросьте настройки сети.

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

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

Как исправить ошибку 503 Backend Fetch Failed как владельцу сайта?

Если вы недавно установили новые плагины Word Press, которые, как вы подозреваете, могли вызвать эту ошибку, сначала отключите/деинсталлируйте их.

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

Если деактивация плагина помогла, отлично! Если нет, проверьте решения, приведенные ниже.

Предупреждение: Очень распространенным советом для решения проблемы ошибки 503 является очистка всего содержимого из кэша. Это НЕ рекомендуется делать, если вы не уверены в причине.

Очистка кэша приведет к временному увеличению запросов к вашему исходному серверу. Если ошибка Backend Fetch Failed была вызвана перегрузкой сервера (слишком много запросов), это только усугубит проблему.

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

Проверьте плагин Varnish

Если на вашем сайте используется кэш Varnish, сначала следует определить, в чем проблема — в Varnish или в вашем веб-сервере. Это можно сделать, отключив Varnish и попробовав выполнить поиск без него. Ниже приведены шаги для этого:

  1. Войдите в cPanel вашего сайта.
  2. В разделе Web Accelerator выберите Manage Varnish > Disable Varnish.
  3. Нажмите кнопку Подтвердить действие, чтобы отключить его.
  4. Проверьте, правильно ли теперь загружается ваш сайт.

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

Для регистрации записей, в которых статус ответа varnish или ответа бэкенда равен 503, используйте следующую команду:
$ varnishlog -q 'RespStatus == 503' -g request

Чтобы записать в журнал все записи >=500, используйте следующую команду:
varnishlog -a -w /var/log/varnish/varnish50x.log -q "RespStatus >= 500 или BerespStatus >= 500".

Изменение длины тегов кэша

По умолчанию длина тегов кэша в Varnish составляет 8192 байта. Превышение этого значения может привести к ошибке HTTP 503 Backend Fetch Failed.

Вы можете решить эту проблему, увеличив значение параметра http_resp_hdr_len в конфигурационном файле Varnish.

На сайте поддержки Adobe Commerce есть отличная статья о том, как именно это сделать.

Изменение конфигурационных файлов Varnish и NGINX

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

  1. Найдите и откройте файл /etc/varnish/default.vcl.
  2. Найдите строку .url = "/pub/health_check.php"; и удалите /pub в таком виде:
                    .url = "/health_check.php";
  3. Или наоборот. Если нет /pub, попробуйте добавить его.
  4. Далее, перейдите в корневую папку Magento 2 и откройте файл ginx.conf.sample файл.
  5. Найдите следующую строку:
    location ~ (index|get|static|report|404|503).php$ {
  6. Отредактируйте ее, добавив health_check в таком виде:
    location ~ (index|get|static|report|404|503|health_check).php$ {
  7. Сохраните изменения и перезапустите Varnish.

Исправления, предложенные пользователями

Примечание: Исправления, о которых сообщают пользователи, обычно применимы только к нишевым сценариям, но их все равно стоит проверить.

Пользователь на Stack Exchange сообщил, что другой сайт на сервере вызывал эту проблему, которая затронула и его сайт. Так что если вы сейчас размещаетесь на общем сервере, это может быть поводом задуматься.

Один из пользователей сообщил, что проблема была вызвана плагином хостера. Как только неисправный плагин был отключен, ошибка Backend Fetch Failed была устранена.

Другой пользователь сообщил, что проблема возникла из-за файла maintenance.flag, созданного Magento. Эту проблему можно устранить, войдя в свою cPanel и переименовав или удалив файл maintenance.flag из корневого каталога Magento.

Обратитесь за поддержкой к хостинг-провайдеру

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

Связанные вопросы

Что такое ошибка 503 Backend Fetch Failed Guru Meditation?

Varnish ссылается на Error 503 Backend Fetch Failed Guru Meditation для серьезных ошибок, например, когда внутренний сервер недоступен либо из-за перегрузки, либо из-за технического обслуживания, либо по какой-то другой причине. Это что-то вроде синего экрана смерти (BSOD) ошибок веб-сайтов.

Оцените статью
cdelat.ru
Добавить комментарий