504

Gateway Timeout

Официален
Родителският сървър не е отговорил своевременно

Общо обяснение на код на състоянието 504

Характеристиката на HTTP грешка 504 Gateway Timeout възниква, когато сървърът се опитва да отговори на заявка от клиент, но не може да го направи в рамките на разумно време. Тази грешка обикновено се нарича "gateway timeout" (времетраене на шлюза), тъй като често се случва, когато прокси сървър или шлюз, който е посредник между клиента и сървъра, не може да се свърже или да получи отговор от сървъра. Това може да има различни причини, като например претоварване на сървъра, мрежови проблеми или недостатъчна конфигурация на прокси сървъра или шлюза.

.

Спецификация на HTTP код на състоянието 504

Кодът на състоянието 504 Gateway Timeout показва, че сървърът, действащ като шлюз или прокси, не е получил своевременен отговор от сървър нагоре по веригата, до който е трябвало да получи достъп, за да изпълни заявката.

Източник / Цитат от: Кодът на състоянието 504 Gateway Timeout на HTTP е определен в раздел 6.6.5 на RFC7231.

Как да изхвърлим код на състоянието 504 с PHP?

За изхвърляне на HTTP статус код 504 на уеб страница може да се използва функцията http_response_code на PHP. Синтаксисът е следният: http_response_code(504) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Тестване на код 504 на състоянието HTTP

За да можете да показвате кода на състоянието на HTTP (в този случай 504 Gateway Timeout) и друга информация от страна на клиента, конзолата за разработка трябва да се отвори с F12. След това преминете към раздела "Мрежа". Сега страницата може да бъде отворена, като уебсайтът (пример index.php) трябва да се вижда в раздела "Мрежа". Той трябва да бъде избран и след това трябва да се избере разделът Herder. След това потребителят ще види следния резултат:

Код на състоянието 504 Gateway Timeout
Преглед
URL: https://http-statuscode.com/errorCodeExample.php?code=504
Статус: 504 Gateway Timeout
Тези: Network
IP адрес: XX.XX.XX.XX
Код на състоянието 504 Gateway Timeout

Как да разреша проблема със статус код 504?

Има няколко възможни причини, поради които може да възникне грешка HTTP 504 Gateway Timeout "Gateway Timeout", като например:

  1. Претоварване на сървъра: Ако сървърът получава твърде много заявки и не може да отговори на тях в рамките на разумно време, може да възникне грешка с изтичане на времето. Това може да бъде решено чрез увеличаване на мащаба на сървъра или добавяне на ресурси, като процесор, оперативна памет или памет.
  2. Мрежови проблеми: Грешка за изчакване може да възникне и ако има проблеми с мрежовата връзка между клиента и сървъра. Това може да бъде отстранено чрез проверка на мрежовата връзка, проверка на конфигурациите на маршрутизатора или защитната стена или рестартиране на мрежовите компоненти.
  3. Проблеми с шлюз или прокси: Шлюз или прокси, които са посредници между клиента и сървъра, също могат да причинят грешка с изтичане на времето. Това може да бъде отстранено чрез проверка и коригиране на настройките на прокси сървъра или шлюза.
  4. Бързо работещо приложение или база данни: Ако дадено приложение или база данни работи бавно, това също може да доведе до грешка с изчакване. Това може да бъде отстранено чрез оптимизиране на приложението или базата данни.

За решаване на проблема могат да бъдат предприети следните мерки:

  1. Проверете състоянието на сървъра и се уверете, че не е претоварен.
  2. Проверете мрежовата връзка и се уверете, че е стабилна и надеждна.
  3. Проверете конфигурацията на прокси сървърите или шлюзовете и я коригирайте, ако е необходимо.
  4. Оптимизирайте приложението или базата данни, за да подобрите производителността им.
  5. Рестартирането на мрежовите компоненти или сървърите също може да помогне за отстраняване на проблема.

В много случаи комбинацията от тези мерки може да реши проблема.

Как да създадете собствена страница за грешка с код на състоянието 504

Създаването на собствена страница за грешка 504 Gateway Timeout е сравнително лесно както с уеб сървърите "Apache", така и с "NGINX".

Apache Webserver

Уеб сървърът "Apache" е един от най-разпространените уеб сървъри в интернет. За да създадете своя собствена страница за грешка 504 Gateway Timeout в "Apache", трябва да се направи следната промяна в следния файл.

File: .htaccess
ErrorDocument 504 /errors/504.html

NGINX Webserver

Подобно на уеб сървъра "Apache", "NGINX" също се използва широко в интернет. За да създадете своя собствена страница за грешка 504 Gateway Timeout в "NGINX", трябва да се направи следната промяна в следния файл.

File: sites-enabled/default
error_page 504 /504.html;
location = /504.html {
    root /usr/share/nginx/html;
    internal;
}

Съвместимост на кода на състоянието 504 с браузъра

Chrome no data
Edge no data
Firefox no data
Opera no data
Safari no data
Chrome Android no data
Firefox for Android no data
Opera Android no data
Safari on iOS no data
Internet no data
WebView Android no data

Константи в езиците за програмиране

HttpStatusCode.GatewayTimeout
http.StatusGatewayTimeout
Response::HTTP_GATEWAY_TIMEOUT
httplib.GATEWAY_TIMEOUT
http.client.GATEWAY_TIMEOUT
http.HTTPStatus.GATEWAY_TIMEOUT
:gateway_timeout
Автор: Tony Brüser
Автор: Tony Brüser

Тони Брусер е ентусиазиран уеб разработчик със склонност към HTTP кодовете за състояние.

LinkedInGitHub