Скидка 50% на все тарифы, ограниченное время. От $2.48/mo
12 мин
Веб и бизнес-приложения

Как исправить ошибку 504 Gateway Timeout в WordPress?

Allen By Allen 12 мин чтения Обновлено 5 июля 2023 г.
ошибка 504 gateway timeout

Ошибка 504 gateway timeout — это код состояния HTTP, тип кода ответа, который сервер возвращает на входящий запрос, когда не может его обработать в отведённое время. Вы наверняка сталкивались с этой ошибкой при работе в браузере, хотя она встречается реже, чем другие ошибки серии 5xx, например «500 internal server error» или «Ошибка 502 Bad Gateway». В этом руководстве мы объясняем, что означает эта ошибка и как её устранить в WordPress.

Когда пользователь заходит на ваш сайт, его браузер отправляет HTTP-запросы на WordPress веб-сервер, на котором работает ваш сайт. На каждый запрос сервер отвечает HTTP-кодом состояния вместе с запрошенными ресурсами. Обычно пользователь этого не замечает — до тех пор, пока что-то не идёт не так. В этом случае он видит код ошибки: HTTP-статус, который указывает на причину сбоя.

wordpress-vps Запустить блог

Разверните WordPress на высокопроизводительном железе с хранилищем NVMe и минимальной задержкой по всему миру — выбирайте любимый дистрибутив.

Получить WordPress VPS

Что такое ошибка 504 Gateway Timeout?

Это код из серии 5xx. Серия «5» означает ошибки на стороне сервера — то есть устранять проблему должен администратор. Таких кодов несколько, и у каждого своё решение (например, см. наше руководство по быстрому исправлению ошибки HTTP 505). Ошибка может возникнуть на любом участке соединения: в браузере пользователя, в его интернет-соединении, на любом промежуточном узле или непосредственно на вашем сервере. Если проблема находится за пределами досягаемости пользователя — это серверная ошибка. Она появляется, когда запрос не удаётся выполнить из-за сбоя в обмене данными между несколькими серверами.

Эта ошибка может отображаться у пользователя (или у вас при просмотре сайта) по-разному. Например:

  • 504 Gateway Timeout
  • 504 Ошибка шлюза Timeout nginx
  • Ошибка Gateway Timeout
  • Ошибка HTTP 504
  • 504 Gateway Time-out – The server didn't respond in time
  • This page isn't working. Domain took too long to respond
  • HTTP Ошибка 504 – Gateway Timeout
  • Gateway Timeout (504)
  • HTTP 504
  • Ошибка 504

Но что это означает?

Почему возникает ошибка 504?

Ошибка 504 Gateway Timeout появляется, когда сервер не получает своевременный ответ от другого сервера, выступающего в роли шлюза или прокси между пользователем и вашим сайтом. Проще говоря: запрос был отправлен, но время ожидания ответа истекло.

Чаще всего эта ошибка вызвана проблемами с подключением:

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

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

Аналогичная ситуация возникает при использовании виртуального хостинга — достаточно, чтобы один-два сайта на общем сервере получили пиковую нагрузку, и это замедлит работу всех остальных сайтов на нём. Причина в том, что, как следует из названия, на виртуальном хостинге все ресурсы делятся между всеми клиентами одновременно . В отличие от VPS, где все ресурсы выделены только вам. Именно это и является главной причиной выбирать WordPress VPS а не виртуальный хостинг.

Ошибка 504 gateway timeout может также возникать из-за неправильной настройки брандмауэра на сервере. Это часто случается при использовании сети доставки контента (CDN) для ускорения отдачи контента пользователям. CDN — это сеть прокси-серверов, которые находятся между вашим веб-сервером и пользователем и обслуживают наиболее запрашиваемые статические данные с ближайшей точки сети, снижая задержку и нагрузку на ваш сервер. Однако брандмауэр может блокировать часть запросов, поступающих через сеть CDN, например Cloudflare.

Ещё одна распространённая причина ошибки 504 — ошибка DNS. Если настройки DNS заданы неверно или на публичном сервере DNS допущена ошибка, связанная с вашим сайтом, запросы пользователей могут не достигать вашего сервера, так как система не может его обнаружить. Это также может быть вызвано неправильными настройками DNS на стороне пользователя или его прокси-сервера.

wordpress-vps Запустить блог

Разверните WordPress на высокопроизводительном железе с хранилищем NVMe и минимальной задержкой по всему миру — выбирайте любимый дистрибутив.

Получить WordPress VPS

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

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

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

1. Обновите страницу

Сначала убедитесь, что проблема действительно существует, а не была разовой. Иногда сервер перегружен лишь на короткое время, и после обновления страница загружается нормально. Подождите пару минут и нажмите кнопку обновления или клавиши Ctrl+R (в Windows) либо cmd+R (на Mac).

кнопка обновления в браузере

2. Попробуйте другой браузер.

Иногда проблема связана с конкретным браузером. Попробуйте другой и проверьте, сохраняется ли ошибка.

3. Впроверьте разные локации.

Пока страница обновляется (подождите пару минут), можно выяснить, в чём проблема: в вашем устройстве или на стороне сервера. Для проверки доступности сайта из разных точек мира существуют специальные сервисы. Попробуйте Сайт недоступен для всех или только для меня? or Сайт сейчас недоступен?

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

4. Сброс кэша DNS

Ошибка 504 gateway timeout иногда возникает из-за устаревшего или повреждённого кэша DNS. Очистить его несложно, хотя способ зависит от операционной системы.

Чтобы сбросить все записи DNS на компьютере с Windows, откройте командную строку (cmd), введите команду ниже и нажмите Enter:

ipconfig /flushdns

После выполнения команды вы увидите строку результата, как на скриншоте ниже:

Очистка DNS-кэша в Windows

Если вы используете Mac OSX, откройте терминал и введите команду ниже, чтобы сбросить кэш DNS:

sudo killall -HUP mDNSResponder

На системе Linux откройте окно терминала и введите команду ниже:

sudo/etc/init.d/nscd restart

Это очищает кэш DNS на стороне пользователя. Если проблема на стороне сервера, описанные шаги вряд ли помогут. Пора разбираться с настройками вашего сервера WordPress.

5. Проблемы с DNS

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

Чтобы проверить, не связан ли код HTTP с проблемой DNS, можно временно переключить DNS-сервер на Google Public DNS. Этот вариант рекомендуется для опытных пользователей.

wordpress-vps Запустить блог

Разверните WordPress на высокопроизводительном железе с хранилищем NVMe и минимальной задержкой по всему миру — выбирайте любимый дистрибутив.

Получить WordPress VPS

6. Проверьте журнал ошибок

Ошибка 504 gateway timeout может возникнуть после недавних изменений или обновлений сайта. Быстрый способ найти причину — проверить журнал ошибок. В WordPress включить логирование ошибок можно, добавив следующие строки в файл wp-config.php:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

После этого все сгенерированные логи будут записываться в файл wp-contents/debug.log.

Отладочный файл FileZilla

7. Проверьте плагины.

Неисправный плагин — одна из частых причин ошибки 504 timeout. Устаревшие или несовместимые плагины и расширения могут вызывать различные ошибки в WordPress. В данном случае виновником может оказаться плагин кэширования. Проблема в том, что с первого взгляда не всегда понятно, какой именно.

Чтобы выяснить, какой плагин WordPress вызывает ошибку 504 gateway timeout, нужно деактивировать все плагины WordPress и затем повторно активируйте их по одному, чтобы выяснить, какой именно вызывает ошибку 504.

Go в панель управления WordPress и нажмите на плагины вкладку. Здесь отметьте флажком пункт «Plugins», чтобы выбрать все плагины, затем в меню «bulk action» выберите «deactivate» и нажмите «apply».

массовая деактивация плагинов wp

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

8. Проверьте свою сеть доставки контента (CDN)

Если вы используете CDN для ускорения доставки контента сайта, стоит убедиться, что на этой стороне тоже всё в порядке. Cloudflare — одно из наиболее распространённых решений CDN для сайтов малого и среднего размера: оно выполняет функции как CDN, так и системы облачной безопасности для защиты от DDoS-атак.

504 Gateway Timeout Cloudflare

Такая ошибка 504 возникает, когда что-то пошло не так на стороне Cloudflare. Вы можете обратиться в поддержку Cloudflare или полностью отключить его. Если вы выберете отключение, изменения в записях DNS могут вступить в силу через несколько часов.

Чаще всего ошибка 504 выглядит так, как показано ниже. Это означает, что Cloudflare CDN не получил ответа от вашего веб-сервера.

Cloudflare 504

9. Проверьте настройки брандмауэра

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

Чтобы решить эту проблему, добавьте все IP-адреса вашего CDN в белый список брандмауэра на вашем сайте. Как правило, список IP-адресов CDN можно найти на их официальном сайте.

Чтобы добавить IP-адрес в белый список через файл .htaccess на вашем сервере, выполните следующие шаги:

  1. Подключитесь к веб-серверу через FTP-клиент, например FileZilla, и перейдите в корневую директорию с файлами вашего сайта.
  2. Дважды кликните по файлу .htaccess, чтобы скачать его резервную копию.
  3. Затем щёлкните правой кнопкой мыши по файлу .htaccess на сервере и выберите «Просмотр/Редактирование».

504 htaccess редактирование

Теперь скопируйте и вставьте следующий фрагмент кода в файл:

<RequireAny>
Require all granted
Require ip 127.0.0.1
</RequireAny>

Замените адрес 127.0.0.1 на IP-адрес, который хотите добавить в белый список. Для каждого следующего адреса скопируйте эту строку, вставьте её ниже предыдущей и укажите нужный IP-адрес.

10. Изменить конфигурацию сервера

Если вы используете WordPress VPS хостинг для своего сайта, есть несколько способов исправить ошибку 504 gateway timeout. Они связаны с изменением настроек сервера и увеличением отдельных ресурсных лимитов. Но, как всегда, не забывайте сначала сделайте резервную копию всего.

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

# Timeout: The number of seconds before receives and sends time out.

Timeout 600

Ещё один популярный веб-сервер — Nginx. Если вы используете Nginx, отредактируйте файл timeout.conf, расположенный по адресу /etc/nginx/conf.d/timeout.conf

Добавьте в файл следующий фрагмент кода:

proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;

11. Обновите тарифный план

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

wordpress-vps Запустить блог

Разверните WordPress на высокопроизводительном железе с хранилищем NVMe и минимальной задержкой по всему миру — выбирайте любимый дистрибутив.

Получить WordPress VPS

Заключение

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

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

Поделиться

Другие статьи блога

Читать дальше.

Обзорное изображение Odoo: крупный заголовок слева, логотип Odoo справа, вокруг — панели интерфейса приложения на мягком фиолетовом фоне с облаками.
Веб и бизнес-приложения

Подробный обзор Odoo: подходит ли эта ERP-система для вашего бизнеса

Odoo — одна из наиболее популярных ERP-платформ среди растущих компаний, и причина проста: система обещает закрыть сразу много задач. Продажи, бухгалтерия, склад

Джим ШварцДжим Шварц 11 мин. чтения
Обзорное изображение для статьи об open-source альтернативах WordPress: цветной градиентный фон, монитор, редактор кода, размытый превью дашборда и крупный заголовок слева.
Веб и бизнес-приложения

Лучшие open-source альтернативы WordPress для разработчиков

WordPress по-прежнему востребован и отлично справляется с широким спектром задач. В его директории плагинов — более 62 000 решений, а в каталоге тем — свыше 14 000 бесплатных вариантов. Это

Джим ШварцДжим Шварц 14 мин. чтения
Обзорное изображение для сравнения Automad и WordPress: логотипы обеих платформ и заголовок с вопросом, какую CMS выбрать разработчику.
Веб и бизнес-приложения

Automad vs. WordPress: детальное сравнение двух CMS-платформ

Automad и WordPress решают одну задачу принципиально разными способами. Automad — это flat-file CMS с шаблонизатором: контент хранится в файлах, а не в базе данных. WordPress,

Джим ШварцДжим Шварц 9 мин. чтения

Готовы к деплою? От $2.48/мес.

Независимый облачный провайдер с 2008 года. AMD EPYC, NVMe, 40 Gbps. Возврат средств в течение 14 дней.