504

Gateway Timeout

Ametlik
Vanemserver ei vastanud õigeaegselt.

Üldine selgitus 504 staatuskoodi kohta

HTP-viga 504 Gateway Timeout tekib siis, kui server üritab vastata kliendi päringule, kuid ei suuda seda mõistliku aja jooksul teha. Seda viga nimetatakse tavaliselt "gateway timeout'iks", sest see tekib sageli siis, kui kliendi ja serveri vahel vahendav proxy-server või gateway ei suuda ühendust luua või serverilt vastust saada. Sellel võivad olla erinevad põhjused, näiteks serveri ülekoormus, võrguprobleemid või proxy või gateway ebapiisav seadistamine.

.

HTTP staatuskoodi 504 täpsustamine

Staatusekood 504 Gateway Timeout näitab, et server, mis tegutseb värava või proxy'na, ei saanud õigeaegselt vastust eelnevast serverist, millele ta pidi taotluse täitmiseks ligi pääsema.

Allikas / Tsitaat: HTTP-kood 504 Gateway Timeout on määratletud jaotises 6.6.5 jaotises RFC7231.

Kuidas PHP-ga 504 staatuskoodi visata?

Veebilehel HTTP-koodi 504 kuvamiseks võib kasutada PHP-funktsiooni http_response_code. Süntaks on järgmine: http_response_code(504) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Testige HTTP-koodi 504

Selleks, et kuvada HTTP staatuskoodi (antud juhul 504 Gateway Timeout) ja muud teavet kliendi poolel, tuleb arenduskonsool avada klahviga F12. Seejärel navigeerige vahekaardile "Network". Nüüd saab lehekülje avada, veebileht (näiteks index.php) peaks olema nähtav võrgu vahekaardil. See tuleb valida ja seejärel tuleb valida Herder sektsioon. Seejärel näeb kasutaja järgmist tulemust:

Staatuse kood 504 Gateway Timeout
Ülevaade
URL: https://http-statuscode.com/errorCodeExample.php?code=504
Staatus: 504 Gateway Timeout
Need: Network
IP-aadress: XX.XX.XX.XX
Staatuse kood 504 Gateway Timeout

Kuidas lahendada probleem 504 staatuskoodiga?

Võimalikke põhjusi, miks võib tekkida HTTP-viga 504 Gateway Timeout "Gateway Timeout", on mitu:

  1. Serveri ülekoormus: Kui server saab liiga palju päringuid ja ei suuda neile mõistliku aja jooksul vastata, võib tekkida timeout-viga. Seda saab lahendada serveri skaleerimisega või ressursside, näiteks protsessori, RAM-i või mälu lisamisega.
  2. Võrguprobleemid: Ajakatkestuse viga võib tekkida ka siis, kui kliendi ja serveri vahelises võrguühenduses on probleeme. Seda saab parandada võrguühenduse kontrollimisega, ruuteri või tulemüüri konfiguratsioonide kontrollimisega või võrgukomponentide taaskäivitamisega.
  3. Proxy või värava probleemid: Kliendi ja serveri vahel vahendav värav või proxy võib samuti põhjustada aja ületamise viga. Seda saab parandada, kontrollides ja kohandades proxy või värava seadistusi.
  4. Hiline rakendus või andmebaas: Kui rakendus või andmebaas töötab aeglaselt, võib ka see põhjustada aja ületamise viga. Seda saab parandada rakenduse või andmebaasi optimeerimisega.

Probleemi lahendamiseks võib võtta järgmisi meetmeid:

  1. Kontrollige serveri olekut ja veenduge, et see ei ole ülekoormatud.
  2. Kontrollige võrguühendust ja veenduge, et see on stabiilne ja usaldusväärne.
  3. Kontrollige proxyde või väravate konfiguratsiooni ja vajadusel kohandage seda.
  4. Optimeerige rakendus või andmebaas, et parandada selle jõudlust.
  5. Võrgu komponentide või serverite taaskäivitamine võib samuti aidata probleemi lahendada.

Monetel juhtudel võib probleemi lahendada nende meetmete kombinatsioon.

Kuidas luua oma vealehekülg staatuskoodi 504 jaoks

Oma 504 Gateway Timeout vealehe loomine on nii "Apache" kui ka "NGINX" veebiserverite puhul suhteliselt lihtne.

Apache Webserver

Veebiserver "Apache" on üks levinumaid veebiservereid Internetis. Oma 504 Gateway Timeout vealehe loomiseks "Apache'is" tuleb teha järgmine muudatus järgmises failis.

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

NGINX Webserver

Sarnaselt veebiserverile "Apache" on ka "NGINX" internetis laialdaselt kasutusel. Oma 504 Gateway Timeout vealehe loomiseks "NGINXis" tuleb teha järgmine muudatus järgmises failis.

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

504 staatuskoodi brauserite ühilduvus

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

Konstandid programmeerimiskeeltes

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

Tony Brüser on entusiastlik veebiarendaja, kellel on kalduvus HTTP staatuskoodide suhtes.

LinkedInGitHub