Что означает ошибка сервера 504 Gateway Time Out и как ее исправить

Ошибка сервера 504

Иногда при посещении отдельных страниц сайта мы сталкиваемся с тем, что на экране вместо желаемого контента появляется сообщение об ошибке с цифровым кодом. Для «непосвященного» пользователя это просто набор цифр, но на самом деле в этих цифрах заложена определенная информация. Все они группируются по видам причин возникновения сбоя.

Сообщения, кодирующиеся в формате 5хх, говорят о проблеме на стороне сервера, например, когда невозможно выполнить запрос из-за нарушения связи между несколькими серверами. Ошибка 504 Gateway Time Out не является распространенной, но это не значит, что на нее не стоит обращать внимания, особенно владельцу сайта. Рассмотрим некоторые причины возникновения данной ошибки и способы ее устранения как на стороне обычного посетителя, так и администратором веб-ресурса.

Ошибка 504 Gateway Time Out – это код состояния HTTP, который появляется, когда в течение заданного периода времени один сервер не получает своевременный ответ от другого сервера, который действует как шлюз или прокси.

Описания ошибки могут иметь различную форму:

Наличие дополнительного словесного описания помогает конкретизировать причину возникновения сбоя.

Производительный хостинг в подарок при заказе лицензии 1С-Битрикс

Выбирайте надежную CMS с регулярными обновлениями системы и профессиональной поддержкой. А мы подарим вам год хостинга – специально для сайтов на 1С-Битрикс.

Что делать посетителю сайта при возникновении ошибки 504

Итак, вы столкнулись с появлением на экране сообщения «error 504». Не спешите уходить с сайта, ведь возникновение сбоя может говорить о неправильной работе вашего браузера или даже наличии более серьезных проблем на уровне пользовательского софта. Попробуйте произвести довольно простые действия, чтобы убедиться, что с вашим программным обеспечением и настройками все в порядке.

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

Решение проблем с появлением ошибки сервера 504 администратором веб-ресурса

Некорректная работа сайта чаще всего просто раздражает посетителя и приводит к тому, что пользователь находит альтернативный ресурс. Для владельца сайта такие сбои могут носить более глобальные последствия. Поэтому очень важно своевременно обнаруживать баги и максимально быстро устранять их. Для раннего мониторинга стоит использовать все возможные инструменты:

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

Почти все ошибки с кодом 5хх, возникающие из-за невозможности обработки определенного количества запросов, поступающих на сервер, решаются методом апгрейда железа (использованием высокопроизводительного хостинга) либо оптимизацией работы программного обеспечения. Второй способ зависит от вида движка, на котором создан конкретный сайт. При использовании условно-бесплатных программ (WordPress, OpeneCart и других) все проблемы придется решать на уровне администрирования, с привлечением конкретного веб-программиста, разработавшего данный сайт. Если баги возникают на платных платформах (1С-Битрикс, UMI. CMS, NetCat CMS), напишите об ошибке 504 Gateway Time Out в техподдержку разработчика. Отправить сообщение о проблеме следует и разработчикам платных скриптов, если они установлены на вашем сайте, и вы считаете, что сбои возникают по причине их некорректного исполнения.

Вот некоторые причины, приводящие к возникновению ошибки 504 Gateway Time Out

Еще одна возможная причина возникновения ошибки 504 – исполняемый скрипт не укладывается в отведенный лимит времени. Это бывает, когда скрипт обращается к другим сайтам либо просто выполняет тяжелую операцию, например, строит поисковый индекс.

Рекомендации по устранению ошибки 504 Gateway Time Out методами администрирования сайта

Ошибка 504 Gateway Time Out может быть вызвана недавними изменениями или обновлениями на сайте. Если после отката к состоянию, предшествующему изменениям, баг исчез, следует найти конкретное действие, повлекшее возникновение ошибки. Для этого необходимо проверить журнал ошибок соответствующей CMS. Пользователи WordPress могут включить журналирование ошибок в файле wp-config. php добавлением следующих строк:

Все возникающие варианты ошибок будут записаны в файле wp-contents/debug. log.

Для проверки работоспособности плагинов и расширений попробуйте отключить те, которые вызывают подозрение как источники возникновения ошибки 504. В первую очередь это касается устаревших скриптов, но причиной могут оказаться и обновления. Если проблема исчезла, далее следует найти некорректный плагин или дополнение и устранить или исправить его. Один из способов улучшения работы исполняемого скрипта – увеличить значение параметра PHP max_execution_time или облегчить скрипт.

При использовании CDN для более быстрого получения контента, в частности CloudFlare, который работает как CDN и как сервис предотвращения негативных последствий от DDoS, вы можете столкнуться с двумя типами ошибок 504. В случае возникновения проблемы на стороне CloudFlare лучшим решением будет связаться с поддержкой CloudFlare или отключить его. Второй вариант – когда сбой возникает на стороне хостинг-провайдера. В этой ситуации также необходимо обратиться в службу поддержки хостера.

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

Также увеличить лимит в max_execution_time в php. ini:

После внесения изменений следует перезапустить Apache. Ошибка 504 Gateway Time Out должна исчезнуть.

Аналогичным образом проблема с появлением ошибки HTTP 504 решается пользователями Nginx. Попробуйте увеличить такие параметры в файле /etc/nginx/conf. d/timeout. conf:

Также рекомендуется увеличить max_execution_time в php. ini:

Далее перезапустите Nginx и откройте сайт.

Более простым решением устранения данной проблемы является использование панели управления сервером.

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

Например, в бесплатной панели управления Vesta Control Panel достаточно внести изменения в раздел «Сервер» и навсегда забыть о возможности возникновения ошибок на сайте.

Ошибка ответа сервера 504 Vesta Control PanelИ далее внести соответствующие изменения.

Ошибка ответа сервера 504 Vesta Control Panel

Изменение php. ini в VestaCP

Аналогичным способом проблема устраняется и при использовании альтернативных панелей управления хостингом – Ajenti, CentOS Web Panel, ISPmanager и других.

Если вы считаете, что появление 504 Gateway Timeout вызвано превышением лимита использования ресурсов серверного железа, оптимальным решением будет аренда выделенного сервера или VPS. Когда ваш сайт уже размещен на виртуальном хостинге, но ни одна из рекомендаций не привела к исправлению error 504, обратитесь к хостинг-провайдеру. В этом случае подробно опишите причины, которые, как вы полагаете, привели к появлению сбоя.

Заключение

В данной статье мы рассмотрели основные причины возникновения ошибки HTTP 504 Gateway Timeout и популярные способы устранения неполадки. Уверен, некоторые администраторы веб-ресурсов сталкивались с подобными проблемами, выходящими за рамки приведенных примеров и рекомендаций.

Установка Nextcloud

Инструкция по установке Nextcloud на Centos 7, Ubuntu 18.04 server, +apache, mariadb, fail2ban, postfix, ssl let's encrypt, регистрация домена, Яндекс коннект, NGINX

Ошибки после обновления Nextcloud.

Ошибки после обновления. Centos 7


Исправим последнюю ошибку:
Заголовок HTTP «Referrer-Policy» не содержит значения «no-referrer», «no-referrer-when-downgrade», «strict-origin» или «strict-origin-when-cross-origin», что может привести к утечке информации об адресе источника перехода по ссылке

]$ sudo nano /etc/httpd/sites-available/nextcloud. conf
#Header always set Referrer-Policy no-referrer
<IfModule mod_headers. c>
Header always set Strict-Transport-Security «max-age=31536000; includeSubDomains; preload»
#Header always set Referrer-Policy no-referrer
Header set Feature-Policy «geolocation ‘none’; midi ‘none’; microphone ‘none’; camera ‘none’; magnetometer ‘none’; gyroscope ‘none’; sp$
</IfModule>

Some columns in the database are missing a conversion to big int. Due to the fact that changing column types on big tables could take some time they were not changed automatically. By running ‘occ db:convert-filecache-bigint’ those pending changes could be applied manually. This operation needs to be made while the instance is offline. For further details read the documentation page about this.
• filecache. mtime
• filecache. storage_mtime

Некоторые индексы базы данных не были преобразованы в тип big int. Так как преобразование таких индексов может занять продолжительное время, оно должно быть запущенно вручную. Чтобы выполнить преобразование, необходимо включить режим обслуживания и запустить в терминале команду «occ db:convert-filecache-bigint».

Переведем NC в режим обслуживания:

]$ cd /var/www/html/nextcloud/
[user@server nextcloud]$

Following columns will be updated:

This can take up to hours, depending on the number of files in your instance!
Continue with the conversion (y/n)? [n] Y

Выключаем режим обслуживания:

Проверяем сообщение о количестве памяти «The current PHP memory limit is below the recommended value of 512MB.»

+
Предупреждения о текущей конфигурации:
В базе данных отсутствуют некоторые необязательные столбцы. Из-за того, что добавление столбцов в больших таблицах может занять некоторое время, они не добавляются автоматически, если они могут быть необязательными. Запустив «occ db:add-missing-columns», эти недостающие столбцы можно добавить вручную, пока экземпляр продолжает работать. После добавления столбцов некоторые функции могут улучшить отзывчивость или удобство использования.
Отсутствует необязательный столбец «reference_id» в таблице «oc_comments».

Ошибки после обновления Nextcloud. Ubuntu 19.04 server Nginx

1. The old server-side-encryption format is enabled. We recommend disabling this. For more details see the documentation.
Если ранее включали шифрование, но затем отключили, вы все еще можете видеть это предупреждение, удалим или закомментируем строки в config/config. php:

# nano /var/www/html/nextcloud/config/config. php
***
// ‘encryption. legacy_format_support’ => true,
// ‘encryption. key_storage_migrated’ => false,
// ‘updater. secret’ => ‘12345678XXXXXXXXXXXXXXXXXXXXXX’,
);
root@test:

2. Заголовок HTTP «X-Frame-Options» не настроен на значение «SAMEORIGIN». Это потенциальная проблема безопасности для устранения которой рекомендуется задать этот параметр.
Необходимо добавить строку: add_header X-Frame-Options SAMEORIGIN; в конфигурацию виртуального хоста Nginx:

# nano /etc/nginx/sites-available/nextcloud. conf
***
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection «1; mode=block»;
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header Referrer-Policy no-referrer;
add_header X-Frame-Options SAMEORIGIN;
***
root@test:

3. Не настроена система кеширования. Для увеличения производительности сервера, по возможности, настройте memcache. Более подробная информация доступна в документации.

# nano /var/www/html/nextcloud/config/config. php
***
‘memcache. local’ => ‘\OC\Memcache\APCu’,
***
);
root@test:

4. В базе данных отсутствуют некоторые индексы. Так как создание таких индексов может занять достаточно продолжительное время, оно должно быть запущено вручную. Для создания индексов необходимо запустить команду «occ db:add-missing-indices» во время работы сервера Nextcloud. При созданных индексах, как правило, запросы к базе данных выполняются значительно быстрее.

5. В базе данных отсутствуют некоторые необязательные столбцы. Из-за того, что добавление столбцов в больших таблицах может занять некоторое время, они не добавляются автоматически, если они могут быть необязательными. Запустив «occ db:add-missing-columns», эти недостающие столбцы можно добавить вручную, пока экземпляр продолжает работать. После добавления столбцов некоторые функции могут улучшить отзывчивость или удобство использования.

6. В системе не установлены рекомендуемые модули PHP. Для улучшения производительности и совместимости рекомендуется установить эти модули.
bcmath
gmp

Источники:

https://timeweb. com/ru/community/articles/chto-oznachaet-oshibka-504-gateway-time-out-i-kak-ee-ispravit

https://enk2x. ru/glstr/errorsupdate/

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: