Что значит ошибка 504 gateway time out. Что значит ошибка «504 Gateway Time-out» и как решить проблему

Неожиданные ошибки при загрузке и обновлении софта порой нарушают привычный режим использования устройства на ОС Андроид. Для большинства из них уже найдено решение в процессе изучения операционной системы, предложены эффективные инструкции по их устранению. Код ошибки 504 Play Market постигла та же участь.

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

Причины появления проблемы

  • Нестабильное подключение к сети Интернет.
  • . Произошел сбой в процессе автоматической настройки даты и времени.
  • Устаревший или переполненный кэш, поврежденные данные Маркета и его вспомогательных сервисов.
  • Некорректное обновление Магазина или самой операционной системы.
  • Недостаточное количество свободного места в разделе для установки по умолчанию.
  • Некорректная работа внешней карты памяти, вызванная аппаратной ошибкой, системным сбоем или некачественным контактом между карточкой и самим устройством.

Возможные решения проблемы

Стандартные решения

Сразу же проверьте, возникает ли ошибка. Если код ошибки 504 приложения play market более не появляется, постарайтесь не обновлять Маркет до выхода корректной и исправленной версии.

Восстановление из копии

Если ошибка появилась после очередного обновления операционной системы, следует откатиться на предыдущую версию. Здесь может помочь встроенный инструмент отката (если он есть в данной операционной системе) либо же придется обратиться к ранее сделанной копии с помощью расширенного рекавери (). Сделайте копию текущей версии системы со всеми параметрами, «вайпните» все разделы, исключив из списка внешнюю карту памяти, затем на очищенную памяти восстановите нужную копию из меню «Restore».

Восстановление из копии

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

Работа с картой памяти

Убедитесь, что на памяти, установленной по умолчанию, достаточно свободного места для загрузки и установки нового приложения. Оптимальное количество свободного пространства, которое желательно иметь для этих целей – 10% от общего объема, или 1 ГБ. Если места недостаточно, существует несколько способов его освободить:

  1. Удалите приложения, которыми вы не пользуетесь.
  2. Если на системной памяти хранятся «тяжелые» мультимедийные файлы и документы, переместите их на внешнюю карту.
  3. Очистите кэш приложений, в которых вы обычно ведете самую активную деятельность.
  4. Перенесите данные приложений из системных разделов на внешний накопитель.
  5. Удалите неактуальные фотографии и музыку.
  6. Установите более легкую прошивку.
  7. Поищите более легкие аналоги часто используемых приложений, компонентов, игр.
  8. Купите новую карту памяти с бОльшим количеством свободного пространства.
  9. Смените память по умолчанию на внешний накопитель, если на нем есть неиспользуемое свободное место.

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

После завершения операции перейдите к разделу «Память», пролистайте в самый низ и нажмите на кнопку «Отключить внешнюю карту памяти» или "Извлечь SD-карту".

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

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

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

Ошибка 504 Gateway Timeout - причины возникновения и способы устранения - 4.6 out of 5 based on 15 votes

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

Что обозначает ошибка 504

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

Сервера, у которых Apache установлен в качестве бэкенда, а nginx – фронтэнда, чаще всего генерируют данный код ошибки. Работа пользователя с сервером происходит по следующему плану: клиент отправляет запрос на сервер, который попадает не на прямую на Apache, а пересылается через nginx (это что-то вроде распределителя запросов). Если последний не смог получить ответ от Apache, за установленный промежуток времени, он отправляет клиенту вместо требуемого ему результата сообщение об ошибке сервера 504 (Gateway Timeout).

Причины появления ошибки

Нехватка ресурсов на сервере из-за большой нагрузки.

Сервер Apache имеет одну не очень приятную особенность – при большой нагрузке и нехватке ресурсов, он не успевает обрабатывать большое количество запросов и вовремя отдавать на них http-ответы. Таким образом, клиентские запросы выстраиваются в очередь, и когда лимит времени на получение ответа заканчивается, они сбрасываются ни с чем. Как следствие, пользователь видит на странице браузера код ошибки 504 (Gateway Timeout).

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

Ошибки, допущенные в скриптах.

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

Можно выделить следующие причины задержки исполнения скрипта:

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

2. Скрипт пытается получить на сервере данные, которые не доступны на данный момент (примером может быть работа разнообразных виджетов погоды, курсов валют и т. д.)

3. Скрипт пытается установить соединение через прокси-сервер, который на данный момент недоступен и не может обработать запрос.

Способы устранения ошибки 504

Рассмотрим несколько распространенных случаев и попытаемся понять как исправить 504 -ю ошибку.

Если шибка возникает из-за нагрузки на сервер, то в первую очередь необходимо предпринять следующие шаги:

1. Провести оптимизацию сервера.

2. Провести оптимизацию скриптов.

3. Увеличить доступные для сервера ресурсы (количество процессов httpd (Apache), оперативную память и т. п.)

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

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

Если есть подозрение на работу скриптов:

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

Стоит проверить, за какой период времени выполняются скрипты и укладываются ли они в отведенный лимит. Если необходимо, то в конфигурационном файле php.ini нужно увеличить значение php_max_execution_time. Этот параметр определяет время исполнения скрипта, обычно это 30 секунд, при необходимости можно установить 60.

Код ошибки 504 Gateway Time-out – довольно специфическая проблема, с которой может столкнуться человек, владеющий собственными виртуальными серверами на просторах интернета. То есть, обычному пользователю данная неприятность не грозит, а вот категории владельцев интернет-серверов следует знать способы исправления ошибки 504 gateway time out.

504 gateway timeout – что это?

Естественно, что любую процедуру лечения рекомендуется начинать с понимания причин возникновения ошибки. Или, как минимум, знания определения каждой неприятности. Если сделать перевод на русский «504 gateway time out», то получиться сообщение, в котором говорится о шлюзе, к которому истекло время, отведенное для подключения.

То есть, выглядит это примерно так:

  • Какой-то пользователь пытается совершить вход на интересный ему ресурс.
  • Начинается процесс подключения к серверу.
  • Процедура не успевает закончится в отведенное для нее время.

В итоге, возникает код ошибки 504 Gateway Time-out.

Естественно, что посетители, видящие, что доступ на нужный им сайт невозможен, могут просто пойти на конкурирующие, рабочие ресурсы. То есть, владелец проблемного сервера может потерять посетителей, трафик и свой доход. Следовательно, очень важно владеть информацией о том, как решить проблему 504 gateway time out.

Как исправить 504 gateway time out nginx и ее аналоги

Существует три способа, которые могут помочь решить данную проблему.

  1. Аппаратный.

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

  1. Программный.

Этот вариант подразумевает при возникновении 504 gateway timeout облегчить используемые скрипты, которые, кроме своих положительных качеств имеют и отрицательные. Например, увеличивают время подключения к удаленному серверу.

  1. Оптимизирование.

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

Ошибка 504 gateway time out для владельцев сайтов

Конечно, с данной ситуацией могут столкнуться не только владельцы серверов, но и те люди, которые держат на них свои сайты. Что делать в этом случае? Прежде всего, обратиться в службу поддержки, которая должна оперативно исправить ситуацию. Если этого не произошло или код ошибки 504 Gateway Time-out возникает с пугающей периодичностью, то выход из положения только один – переход на другого хостинг-провайдера, способного оградить владельца сайта от возникновения такой неприятности.

Итак, на своём сайте мы столкнулись с ошибкой 504 Gateway Time-out и не знаем, что же делать. В этом посте постараюсь описать полный алгоритм действий для решения этой проблемы, а так же поведать о причинах её возникновения. Следуйте под кат!

Так вот, продолжим. Для начала выясним, что это за HTTP код ошибки такой, а точнее, что же он означает? 504 - пятьсот четвёртая ошибка, она же Gateway Timeout, а точнее, на русском это звучит примерно так: «Время прохождения через шлюз истекло». Код означающий, что сервер при работе в качестве внешнего шлюза или прокси-сервера не получил своевременно отклик от вышестоящего бэкенда сервера, к которому он обратился, пытаясь исполнить запрос.

По этой ошибке легко можно представить внутреннюю организацию вашего web сервера. Это явно связка двух web серверов в которой один выступает в роли фронтенда (переднего сервера) и второй в качестве бэкенда (заднего сервера). И скорее всего, так бывает в 99% случаев, установлен веб сервер nginx, который выступает в качестве фронтенда и так же стоит сервер Apache в качестве бэкенда. Nginx берёт на себя роль распределяющего proxy сервера и отдаёт статику (картинки, файлы), а apache вместе с PHP обрабатывает динамику, там же и MySQL неподалёку. И ошибку 504 Gateway Time-out вы получаете именно от nginx.

В общем вернёмся к делу. Ситуация предельно ясна! За отведённое время сервер nginx просто не дожидается обратного ответа от apache и сообщает об этом вам. Т.е. прослеживаются явные перегрузки на «внутренней» стороне бэкенда. Другой вопрос в том, что именно порождает эти перегрузки от чего apache не успевает во время ответить? Это уже вопрос другой. Тут так просто не разобраться, надо смотреть логи сервера. Ну понятное дело, что кто то перегружен. Либо скрипт долго работает, либо СУБД не успевает обработать множество запросов, что кстати бывает чаще всего ведь коннектор с СУБД это самое слабое место. В общем ваш внутренний сервер не успевает в срок выполнить скрипт, точнее он просто долго выполняет, а nginx не хочет ждать и спешит отдать вам 504 ошибку. От чего не укладывается по времени apache так же ясно, либо много запросов извне и ресурсов сервера не хватает (это можно узнать из счётчика посещаемости сайта), либо выполняемый скрипт очень тяжёлый.

В общем речь сейчас не об этом, а том как справится с ошибкой 504. Многих веб мастеров вполне устраивает, то что страница генерируется по несколько минут, может быть оно того стоит.

В общем, ближе к делу, наша задача сказать серверу nginx, что бы он ждал ответа от apache подольше и не торопился отдавать клиенту ошибку 504. С этим всё просто! Естественно нужно иметь root доступ к своему серверу, о виртуальных хостингах и даже говорить не буду. В общем заходим на своей сервер, хоть даже по протоколу ssh в терминал и идём в папку с конфигурационными файлами сервера nginx. Сразу скажу, что они меняются от версии к версии и поэтому точно сказать какой именно файл будет не могу. Плюс ко всему всё ещё зависит от того в каком режиме работает nginx и кто его вам настраивал. Грубо говоря нам нужен текущий файл настроек сервера nginx. Возможно это даже будет nginx.conf, как в общем то и должно быть.

Заходим в условный файл настроек виртуальных хостов сервера nginx, расположенному по адресу: /etc/nginx/nginx.conf

Здесь можем либо поискать уже установленные директивы (если есть) или дописать вручную. Можно дописать естественно как для всех хостов, так и для каждого конкретного, не важно. В общем пишем следующее:

Proxy_send_timeout 60; # время ожидания при передаче запроса proxy_read_timeout 60; # время ожидания при чтении ответа

Эти директивы нужны для изменения времени ожидания. Лучше вставлять в контекст location. У меня получилось примерно следующим образом:

Server { listen xxx.xxx.xxx.xxx:80; # ip адрес сервера и прослушиваемый порт server_name someserver.loc; # имя сервера rewrite ^(/manager/.*)$ https://$host$1 permanent; error_page 404 = @fallback; # Далее две строки, которые надо добавить proxy_send_timeout 600; # время ожидания при передаче запроса proxy_read_timeout 600; # время ожидания при чтении ответа location / { proxy_pass http://xxx.xxx.xxx.xxx:8080; # протокол и адрес проксируемого сервера, а также необязательный URI, на который должен отображаться location proxy_redirect http://sitename.loc:8080/ /; # текст, который нужно изменить в полях заголовка “Location” и “Refresh” в ответе проксируемого сервера proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; } }

Далее сохраняем файл конфигурации и перезапускаем сервер nginx. Теперь он будет ждать ответа от apache именно столько времени, сколько вы указали в добавленных директивах, а не по значению по умолчанию. Думаю понятно, что время вы сами выставляете какое хотите. Всё, теперь ошибка 504 Gateway Time-out вас беспокоить не будет. Понятное дело, что это лишь вершина айсберга и нужно будет разбираться с самой причиной долгой генерации страницы, но это уже другая тема. Возможно придётся так же поставить таймаут побольше и для PHP, а то может быть такое, что и он начнёт ругаться, мол ему дают мало времени на обработку. Для этого используем PHP директивы max_input_time и max_execution_time в файле настроек PHP - php.ini или в файле локальных настроек сервера Apache - .htaccess

Наверняка многие пользователи Интернета и компьютерных сетей не один раз сталкивались с такой неприятной ситуацией, как появление в браузере кода 504 (ошибка). Не все достаточно четко представляют себе, почему происходит такой сбой и как все это исправить. Давайте посмотрим, что к чему.

Что означает ошибка «504 Gateway time out»?

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

Иными словами, обработка подобного рода запросов попросту имеет свои ограничения по времени, в течение которого сервер должен отослать отзыв. На разных серверах это время имеет и разные значения. В любом случае, если появляется сообщение с кодом 504 (ошибка), значит оно просто истекло, то есть в течение этого временного промежутка от сервера ответ получен не был.

Причины появления ошибки

Теперь, насколько это возможно максимально просто, затронем технический аспект. Итак, у нас появляется ошибка 504. Что значит такое сообщение с точки зрения взаимодействия терминала пользователя и удаленного сервера?

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

Понятно, что если nginx вовремя не получает ответа от Apache-сервера, он вместо ожидаемого результата и выдает пользователю сообщение с кодом 504 (ошибка). Впрочем, такие ситуации можно исправить, причем даже самым элементарным способом.

Код 504 (ошибка): как с этим бороться?

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

Как правило, это либо кнопка «Обновить», либо использование функциональной клавиши F5. Такое правило действует для всех браузеров без исключения. Возможен, правда, более долгий вариант, когда связь является нестабильной. Очень может быть, что в данном случае придется перезагрузить всю систему или даже маршрутизатор (в частности, при использования доступа в Интернет через Wi-Fi-подключение).

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

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

Проблемы при инсталляции приложений

Однако же и это еще не все. Достаточно часто может появляться ошибка при установке (код 504), когда приложение или программа инсталлируется непосредственно из сети Интернет. В данном случае дистрибутив не скачивается на винчестер, а находится на удаленном сервере, с которого и производится установка.

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

Кстати сказать, если наблюдается неправильная работа исполняемых скриптов, отвечающих за данный процесс на хостинге, рекомендуется использовать редактирование файла php.ini, в котором нужно найти строку php_max_execution_time и изменить стандартное значение времени исполнения с 30 секунд на большее значение. Но и увлекаться этим не стоит, а то отклика придется ждать достаточно долго. Впрочем, даже при использовании определенного сервера в качестве хостинга даже у его владельца можно узнать рекомендуемые настройки.

Заключение

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

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