504

Gateway Timeout

Offisiell
Den overordnede serveren svarte ikke i tide.

Generell forklaring av 504-statuskoden

HTTP-feilen 504 Gateway Timeout oppstår når en server forsøker å svare på en forespørsel fra en klient, men ikke klarer å gjøre det innen rimelig tid. Denne feilen blir vanligvis referert til som en "gateway timeout" fordi den ofte oppstår når en proxy-server eller gateway som formidler mellom klienten og serveren ikke klarer å koble til eller motta svar fra serveren. Dette kan ha forskjellige årsaker, for eksempel overbelastning av serveren, nettverksproblemer eller utilstrekkelig konfigurasjon av proxy eller gateway.

.

Spesifikasjon av HTTP-statuskoden 504

Statuskoden 504 Gateway Timeout indikerer at serveren, mens den fungerte som gateway eller proxy, ikke mottok et rettidig svar fra en oppstrøms server den trengte tilgang til for å fullføre forespørselen.

Kilde / Sitat fra: 504 Gateway Timeout HTTP-statuskoden er spesifisert av seksjon 6.6.5 i RFC7231.

Hvordan kaste en 504-statuskode med PHP?

For å kaste HTTP-statuskoden 504 på en nettside kan PHP-funksjonen http_response_code brukes. Syntaksen er som følger: http_response_code(504) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Test 504 HTTP-statuskoden

For å kunne vise HTTP-statuskoden (i dette tilfellet 504 Gateway Timeout) og annen informasjon på klientsiden, må utviklingskonsollen åpnes med F12. Naviger deretter til fanen "Nettverk". Nå kan siden åpnes, nettstedet (eksempel index.php) skal være synlig i nettverksfanen. Dette må velges, og deretter må Herder-delen velges. Brukeren vil da se følgende resultat:

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

Hvordan løser jeg problemet med 504-statuskoden?

Det er flere mulige årsaker til at en HTTP-feil 504 Gateway Timeout "Gateway Timeout" kan oppstå, for eksempel:

  1. Overbelastning av serveren: Hvis en server mottar for mange forespørsler og ikke klarer å svare på dem innen rimelig tid, kan det oppstå en tidsavbruddsfeil. Dette kan løses ved å skalere serveren eller legge til ressurser som CPU, RAM eller lagring.
  2. Nettverksproblemer: En tidsavbruddsfeil kan også oppstå hvis det er problemer med nettverksforbindelsen mellom klienten og serveren. Dette kan løses ved å sjekke nettverkstilkoblingen, kontrollere ruter- eller brannmurkonfigurasjoner eller starte nettverkskomponenter på nytt.
  3. Proxy- eller gatewayproblemer: En gateway eller proxy som formidler mellom klienten og serveren, kan også forårsake en timeout-feil. Dette kan løses ved å kontrollere og justere proxy- eller gatewayinnstillingene.
  4. Treg applikasjon eller database: Hvis en applikasjon eller database kjører sakte, kan dette også føre til en tidsavbruddsfeil. Dette kan løses ved å optimalisere applikasjonen eller databasen.

For å løse problemet kan følgende tiltak iverksettes:

  1. Sjekk serverstatusen og sørg for at den ikke er overbelastet.
  2. Sjekk nettverksforbindelsen og sørg for at den er stabil og pålitelig.
  3. Sjekk konfigurasjonen av proxyer eller gatewayer og juster om nødvendig.
  4. Optimaliser applikasjonen eller databasen for å forbedre ytelsen.
  5. Å starte nettverkskomponenter eller servere på nytt kan også bidra til å løse problemet.

I mange tilfeller kan en kombinasjon av disse tiltakene løse problemet.

I mange tilfeller kan en kombinasjon av disse tiltakene løse problemet.

Slik oppretter du din egen feilside for statuskode 504

Det er relativt enkelt å lage din egen 504 Gateway Timeout-feilside med både "Apache" og "NGINX" webservere.

Apache Webserver

Webserveren "Apache" er en av de vanligste webserverne på Internett. For å lage din egen 504 Gateway Timeout-feilside i "Apache", må følgende endring gjøres i følgende fil.

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

NGINX Webserver

I likhet med webserveren "Apache" er "NGINX" også mye brukt på Internett. For å lage din egen 504 Gateway Timeout-feilside i "NGINX", må følgende endring gjøres i følgende fil.

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

Nettleserkompatibilitet 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 programmeringsspråk

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 webutvikler med en forkjærlighet for HTTP-statuskoder.

LinkedInGitHub