504 gateway time out

Ошибка 504 (Gateway Time Out) это http код, который означает, что сайт или приложение, к которому вы обращаетесь, не успел обработать данные в отведённое ему время. Обычно это время (timeout) устанавливается сервером. В данной статье я расскажу как можно исправить ошибку 504 Gateway Timeout или, по крайней мере, избежать её. Чтобы понять суть этой ошибки, представьте следующую ситуацию: вы хотите узнать штрафы для своего автомобиля.

Вы вводите его данные и нажав кнопку «проверить» говорите серверу — «проверь пожалуйста мой автомобиль на нарушения». «Ок», говорит сервер и отправляет запрос в базу данных, предоставляющую информацию о штрафах и нарушениях. Но на данный момент база перегружена, а сервер всё ждет ответ… И не дожидается, так как срабатывает 504 Gateway Time Out. Иными словами, сервер бы и рад подождать несколько дней, но ему для получения ответа выделили всего несколько секунд.

Примерно так выглядит ошибка 504. Ещё вариант — вы загружаете большое фото, которое сервер неспособен обработать быстро. Результат — 504 Gateway Time Out. По большому счёту, вы никак не можете исправить ошибку самостоятельно, если вы не владеете сервером. Однако, вы в силах предотвратить её появление, изменив свои действия. Например, если вы понимаете, что ошибка возникает при загрузке большой фотографии, попробуйте изменить её размер.

Ошибка 504 бывает не только на сайтах, но и в разных приложениях, работающих через интернет. В основном она означает одно и то же — время ожидания внутреннего ответа сервера истекло. Что делать в этом случае? В основном просто ждать — ошибка происходит по независящим от вас причинам. Однако, если она появляется систематически или не исчезает вовсе спустя некоторое время, нужно что-то придумать. Например, вы можете написать владельцу сайта или сервиса, на котором происходит данная ошибка.

Что значит 504 gateway time out

Обычно ошибка 504 означает ошибку на стороне сервера, однако что делать, если вы единственный, у кого она происходит? Или что делать, если она выходит на всех сайтах? Разберём несколько вариантов решения проблемы с ошибкой 504:

  • Обновите страницу. Причём сделайте это не клавишей F5, а выделив адрес в адресной строке и нажав Enter. Это предотвратит повторную передачу данных и соответственно их обработку;
  • Попробуйте использовать другой браузер. Некоторые данные, хранящиеся в нём, могут вызывать ошибку на стороне сервера. Если это так, чтобы продолжить использовать свой браузер, нужно очистить куки и удалить кэш;
  • Попробуйте очистить кэш DNS;
  • Если это не помогло, сделайте сброс сетевых настроек;
  • Попробуйте другое устройство и другого провайдера; Самый просто вариант не выходя из дома подключиться через к интернету через режим модема на телефоне;

Если на вашем сайте ошибка 504

Так как на данный момент лидирующим является WordPress, мы будем рассматривать решение проблемы с ошибкой 504 именно на этой CMS.

  • Если вы владелец сайта, на котором происходит ошибка 504, обратите внимание на логи. Если они включены, в них будет описана причина ошибки 504;
  • В wp-config включите отладку (показ сообщений ошибок)
define( 'WP_DEBUG', true ); 
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Теперь все возникающие ошибки будут отображаться в wp-contents/debug.log

  • Удостоверьтесь, что ошибка не в плагинах. Для этого переименуйте папку с плагинами (wp-content/plugins), например, на «_plugins» и проверьте работоспособность сайта.
  • Если с отключенными плагинами всё в порядке, верните название папки и внутри папки с плагинами начните переименовывать один плагин за другим, пока ошибка не исчезнет.
  • Если вы используете CloudFlare, убедитесь, что не сработала одна из защит от атак. Самым простым вариантом будет связаться с техподдержкой или вовсе отключить его.

Как исправить ошибку 504 если у вас VPS

Если у вас VPS, к которому вы имеете полный доступ, можно попробовать увеличить значение timeout.

Apache

Отредактируйте файл httpd.conf, изменив значение параметра timeout:

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

Возможные местоположения файла: /etc/apache/httpd.conf, /etc/apache2/apache2.conf , /etc/httpd/conf/httpd.conf , /usr/local/etc/apache22/httpd.conf , /usr/local/etc/apache/httpd.conf

Кстати в OS X файл httpd.conf находится здесь: /Applications/XAMPP/xamppfiles/apache2/conf/httpd.conf

Nginx

Если у вас Nginx, то попробуйте изменить параметры в файле /etc/nginx/conf.d/timeout.conf:

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

Также увеличьте значение max_execution_time в файле php.ini

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

504 (Gateway Time Out) на хостинге

Обычно хостеры не дают менять параметры httpd и php, однако если у вас хороший хостинг, то вам обязательно помогут разобраться с проблемой и в конце концов ваш сайт заработает правильным образом. Кстати, ошибка 504 вполне может возникать из-за «плохого» хостинга и ваши усилия ни к чему не приведут. Кстати, на хостинге beget ваш сайт бесплатно перенесут и дадут первый месяц бесплатного размещения. Мой всё свое время находится на нём и я не знаю бед.

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

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

С уважением, редакция FixErro.com

Задайте вопрос

или поделитесь своим способом решения проблемы

Имя/никнейм *
Адрес электронной почты *

4 комментарий

yg.ros

03.03.2020 Ответить

На саитe gp-lk .ru постоянно ощибка 504 Ga…
Могут ли они сами заблокировать вход из моего устроиство? Как это узнать и что делать?

admin

15.06.2020 Ответить

Может gp-lc?

Роман

21.08.2020 Ответить

А если 504 появилась в игре, и нет возможности зайти в игру, это что значит, и как это исправить, если возможно?

admin

24.09.2020 Ответить

Просто подождать, пока эта проблема не исчезнет сама.