504

Gateway Timeout

Officiel
Den overordnede server reagerede ikke rettidigt

Generel forklaring af 504-statuskoden

HTTP-fejl 504 Gateway Timeout opstår, når en server forsøger at besvare en anmodning fra en klient, men ikke kan gøre det inden for en rimelig tid. Denne fejl kaldes normalt for en "gateway timeout", fordi den ofte opstår, når en proxyserver eller gateway, der formidler mellem klienten og serveren, ikke kan oprette forbindelse eller modtage et svar fra serveren. Dette kan have forskellige årsager, f.eks. overbelastning af serveren, netværksproblemer eller utilstrækkelig konfiguration af proxyen eller gatewayen.

.

Specifikation af HTTP-statuskode 504

Statuskoden 504 Gateway Timeout angiver, at serveren, der fungerer som gateway eller proxy, ikke har modtaget et rettidigt svar fra en server i opstrømsleddet, som den skulle have adgang til for at kunne fuldføre anmodningen.

Kilde / citat fra: HTTP-statuskoden 504 Gateway Timeout er specificeret i afsnit 6.6.5 i RFC7231.

Hvordan får man en 504-statuskode med PHP?

Hvis du vil have HTTP-statuskoden 504 på en webside, kan du bruge PHP-funktionen http_response_code. Syntaksen er som følger: http_response_code(504) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Test 504 HTTP-statuskoden

For at kunne vise HTTP-statuskoden (i dette tilfælde 504 Gateway Timeout) og andre oplysninger på klientsiden skal udviklingskonsollen åbnes med F12. Naviger derefter til fanen "Network" (netværk). Nu kan siden åbnes, hjemmesiden (eksempel index.php) skal være synlig i fanen netværk. Denne skal vælges, og derefter skal Herder-sektionen vælges. Brugeren vil derefter se følgende resultat:

Statuskode 504 Gateway Timeout
Oversigt
URL: https://http-statuscode.com/errorCodeExample.php?code=504
Status: 504 Gateway Timeout
Disse: Network
IP-adresse: XX.XX.XX.XX
Statuskode 504 Gateway Timeout

Hvordan løser jeg problemet med 504-statuskoden?

Der er flere mulige årsager til, at en HTTP-fejl 504 Gateway Timeout "Gateway Timeout" kan opstå, f.eks.:

  1. Serveroverbelastning: Hvis en server modtager for mange anmodninger og ikke kan besvare dem inden for en rimelig tid, kan der opstå en timeout-fejl. Dette kan løses ved at skalere serveren eller tilføje ressourcer såsom CPU, RAM eller lagerplads.
  2. Netværksproblemer: En timeout-fejl kan også opstå, hvis der er problemer med netværksforbindelsen mellem klienten og serveren. Dette kan løses ved at kontrollere netværksforbindelsen, kontrollere router- eller firewallkonfigurationer eller genstarte netværkskomponenter.
  3. Proxy- eller gatewayproblemer: En gateway eller proxy, der formidler mellem klienten og serveren, kan også forårsage en timeoutfejl. Dette kan afhjælpes ved at kontrollere og justere proxy- eller gatewayindstillingerne.
  4. Langsom program eller database: Hvis et program eller en database kører langsomt, kan dette også føre til en timeout-fejl. Dette kan løses ved at optimere applikationen eller databasen.

For at løse problemet kan følgende foranstaltninger træffes:

  1. Kontroller serverens status, og sørg for, at den ikke er overbelastet.
  2. Kontroller netværksforbindelsen, og sørg for, at den er stabil og pålidelig.
  3. Kontroller konfigurationen af proxyer eller gateways, og juster om nødvendigt.
  4. Optimer programmet eller databasen for at forbedre dets ydeevne.
  5. Genstart af netværkskomponenter eller servere kan også være med til at løse problemet.

I mange tilfælde kan en kombination af disse foranstaltninger løse problemet.

Sådan opretter du din egen fejlside for statuskode 504

Det er relativt nemt at oprette din egen 504 Gateway Timeout-fejlside med både Apache- og NGINX-webservere.

Apache Webserver

Webserveren "Apache" er en af de mest almindelige webservere på internettet. For at oprette din egen 504 Gateway Timeout-fejlside i "Apache" skal du foretage følgende ændring i følgende fil.

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

NGINX Webserver

I lighed med webserveren "Apache" er "NGINX" også meget udbredt på internettet. For at oprette din egen 504 Gateway Timeout-fejlside i "NGINX" skal du foretage følgende ændring i følgende fil.

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

Browserkompatibilitet for 504-statuskoden

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 programmeringssprog

HttpStatusCode.GatewayTimeout
http.StatusGatewayTimeout
Response::HTTP_GATEWAY_TIMEOUT
httplib.GATEWAY_TIMEOUT
http.client.GATEWAY_TIMEOUT
http.HTTPStatus.GATEWAY_TIMEOUT
:gateway_timeout
Forfatter: Tony Brüser
Forfatter: Tony Brüser

Tony Brüser er en entusiastisk webudvikler med en forkærlighed for HTTP-statuskoder.

LinkedInGitHub