504

Gateway Timeout

Officiell
Föräldraservern svarade inte i tid.

Allmän förklaring av statuskoden 504

HTP-felet 504 Gateway Timeout uppstår när en server försöker svara på en begäran från en klient men inte kan göra det inom rimlig tid. Felet brukar kallas "gateway timeout" eftersom det ofta uppstår när en proxyserver eller gateway som förmedlar mellan klienten och servern inte kan ansluta eller ta emot ett svar från servern. Detta kan ha olika orsaker, t.ex. överbelastning av servern, nätverksproblem eller otillräcklig konfiguration av proxyn eller gatewayen.

.

Specifikation av HTTP-statuskoden 504

Statuskoden 504 Gateway Timeout anger att servern, som fungerar som en gateway eller proxy, inte fick något snabbt svar från en server i uppströmsledet som den behövde komma åt för att slutföra begäran.

Källa / Citat från: HTTP-statuskoden 504 Gateway Timeout anges i avsnitt 6.6.5 i RFC7231.

Hur skickar man en 504-statuskod med PHP?

För att kasta HTTP-statuskoden 504 på en webbsida kan PHP-funktionen http_response_code användas. Syntaxen är följande: http_response_code(504) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Testa HTTP-statuskoden 504

För att kunna visa HTTP-statuskoden (i det här fallet 504 Gateway Timeout) och annan information på klientsidan måste utvecklingskonsolen öppnas med F12. Navigera sedan till fliken "Network" (nätverk). Nu kan sidan öppnas, webbplatsen (exempel index.php) ska vara synlig i fliken nätverk. Denna måste väljas och sedan måste avsnittet Herder väljas. Användaren kommer då att se följande resultat:

Statuskod 504 Gateway Timeout
Översikt
URL: https://http-statuscode.com/errorCodeExample.php?code=504
Status: 504 Gateway Timeout
Dessa: Network
IP-adress: XX.XX.XX.XX
Statuskod 504 Gateway Timeout

Hur löser jag problemet med statuskoden 504?

Det finns flera möjliga orsaker till att ett HTTP-fel 504 Gateway Timeout "Gateway Timeout" kan uppstå, till exempel:

  1. Överbelastning av servern: Om en server tar emot för många förfrågningar och inte kan besvara dem inom rimlig tid kan ett timeout-fel uppstå. Detta kan lösas genom att skala upp servern eller lägga till resurser som CPU, RAM eller lagring.
  2. Nätverksproblem: Ett timeoutfel kan också uppstå om det finns problem med nätverksanslutningen mellan klienten och servern. Detta kan åtgärdas genom att kontrollera nätverksanslutningen, kontrollera router- eller brandväggskonfigurationer eller starta om nätverkskomponenter.
  3. Proxy- eller gatewayproblem: En gateway eller proxy som förmedlar mellan klienten och servern kan också orsaka ett timeoutfel. Detta kan åtgärdas genom att kontrollera och justera proxy- eller gatewayinställningarna.
  4. Långsam applikation eller databas: Om en applikation eller databas körs långsamt kan detta också leda till ett timeoutfel. Detta kan åtgärdas genom att optimera applikationen eller databasen.

För att lösa problemet kan följande åtgärder vidtas:

  1. Kontrollera serverns status och se till att den inte är överbelastad.
  2. Kontrollera nätverksanslutningen och se till att den är stabil och pålitlig.
  3. Kontrollera konfigurationen av proxies eller gateways och justera vid behov.
  4. Optimera programmet eller databasen för att förbättra dess prestanda.
  5. Omstarta om nätverkskomponenter eller servrar kan också hjälpa till att åtgärda problemet.

I många fall kan en kombination av dessa åtgärder lösa problemet.

Så här skapar du en egen felsida för statuskoden 504

Det är relativt enkelt att skapa en egen 504 Gateway Timeout-felsida med både Apache- och NGINX-webbservrarna.

Apache Webserver

Webbservern "Apache" är en av de vanligaste webbservrarna på Internet. För att skapa en egen 504 Gateway Timeout-felsida i "Apache" måste följande ändring göras i följande fil.

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

NGINX Webserver

I likhet med webbservern Apache används NGINX i stor utsträckning på Internet. För att skapa en egen 504 Gateway Timeout-felsida i "NGINX" måste följande ändring göras i följande fil.

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

Webbläsarnas kompatibilitet med statuskoden 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

Konstanter i programmeringsspråk

HttpStatusCode.GatewayTimeout
http.StatusGatewayTimeout
Response::HTTP_GATEWAY_TIMEOUT
httplib.GATEWAY_TIMEOUT
http.client.GATEWAY_TIMEOUT
http.HTTPStatus.GATEWAY_TIMEOUT
:gateway_timeout

Underhållande memes om HTTP-statuskoden 504

Författare: Tony Brüser
Författare: Tony Brüser

Tony Brüser är en entusiastisk webbutvecklare med en förkärlek för HTTP-statuskoder.

LinkedInGitHub