504

Gateway Timeout

Oficialus
Tėvų serveris laiku neatsakė

Bendras būsenos kodo 504 paaiškinimas

TPTTP 504 Gateway Timeout klaida atsiranda, kai serveris bando atsakyti į kliento užklausą, tačiau per pagrįstą laiką to padaryti negali. Ši klaida paprastai vadinama "gateway timeout", nes dažnai pasitaiko, kai tarp kliento ir serverio tarpininkaujantis proxy serveris arba gateway negali prisijungti arba gauti atsakymo iš serverio. To priežastys gali būti įvairios, pavyzdžiui, serverio perkrovimas, tinklo problemos arba nepakankama tarpinio serverio ar vartų konfigūracija.

.

HTTP būsenos kodo 504 specifikacija

504 Gateway Timeout būsenos kodas rodo, kad serveris, veikdamas kaip vartai arba tarpininkas, laiku negavo atsakymo iš aukštesnės grandies serverio, prie kurio jam reikėjo prisijungti, kad užbaigtų užklausą.

Šaltinis / citata iš: HTTP būsenos kodas 504 Gateway Timeout nurodytas 6.6.5 skirsnyje 6.6.5.

Kaip naudojant PHP išmesti 504 būsenos kodą?

Norint žiniatinklio puslapyje nurodyti HTTP būsenos kodą 504, galima naudoti PHP funkciją http_response_code. Sintaksė tokia: http_response_code(504) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

HTTP būsenos kodo 504 testavimas

Kad kliento pusėje būtų galima rodyti HTTP būsenos kodą (šiuo atveju 504 Gateway Timeout) ir kitą informaciją, kūrimo konsolę reikia atidaryti klavišu F12. Tada pereikite prie skirtuko "Network" (tinklas). Dabar galima atidaryti puslapį, tinklo skirtuke turi būti matoma svetainė (pavyzdys index.php). Ją reikia pasirinkti, o tada reikia pasirinkti skyrių Herder (Herderis). Tada naudotojas matys tokį rezultatą:

Būsenos kodas 504 Gateway Timeout
Apžvalga
URL: https://http-statuscode.com/errorCodeExample.php?code=504
Statusas: 504 Gateway Timeout
Šie: Network
IP adresas: XX.XX.XX.XX
Būsenos kodas 504 Gateway Timeout

Kaip išspręsti 504 būsenos kodo problemą?

Galimos kelios galimos HTTP klaidos 504 Gateway Timeout "Gateway Timeout" priežastys, pavyzdžiui:

  1. Serverio perkrova: Jei serveris gauna per daug užklausų ir negali į jas atsakyti per priimtiną laiką, gali atsirasti laiko limito klaida. Tai galima išspręsti padidinus serverio mastą arba pridėjus išteklių, pavyzdžiui, procesoriaus, operatyviosios atminties ar saugyklos.
  2. Tinklo problemos: Laiko limito klaida taip pat gali atsirasti, jei yra tinklo ryšio tarp kliento ir serverio problemų. Tai galima išspręsti patikrinus tinklo ryšį, maršrutizatoriaus ar ugniasienės konfigūracijas arba iš naujo paleidus tinklo komponentus.
  3. Proxy arba tarpinio serverio problemos: Tarp kliento ir serverio tarpininkaujantis tarpinis serveris arba tarpinis serveris taip pat gali sukelti laiko praleidimo klaidą. Tai galima išspręsti patikrinus ir pakoregavus tarpinio serverio arba šliuzo nustatymus.
  4. Lėtai veikianti programa arba duomenų bazė: Jei programa arba duomenų bazė veikia lėtai, tai taip pat gali sukelti laiko limito klaidą. Tai galima išspręsti optimizuojant programą arba duomenų bazę.

Sprendžiant problemą galima imtis šių priemonių:

  1. Patikrinkite serverio būseną ir įsitikinkite, kad jis nėra perkrautas.
  2. Patikrinkite tinklo ryšį ir įsitikinkite, kad jis yra stabilus ir patikimas.
  3. Patikrinkite tarpinių serverių ar šliuzų konfigūraciją ir prireikus ją pakoreguokite.
  4. Optimizuokite taikomąją programą ar duomenų bazę, kad pagerėtų jos veikimas.
  5. Tinklo komponentų ar serverių paleidimas iš naujo taip pat gali padėti išspręsti problemą.

Daugeliu atvejų problemą gali išspręsti šių priemonių derinys.

Kaip sukurti savo klaidų puslapį, kuriame būtų rodomas būsenos kodas 504

Sukurti savo 504 Gateway Timeout klaidos puslapį gana paprasta naudojant tiek "Apache", tiek "NGINX" žiniatinklio serverius.

Apache Webserver

Interneto serveris "Apache" yra vienas iš labiausiai paplitusių interneto svetainių serverių. Norėdami sukurti savo 504 Gateway Timeout klaidos puslapį "Apache", šiame faile reikia atlikti toliau nurodytus pakeitimus.

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

NGINX Webserver

Panašiai kaip ir žiniatinklio serveris "Apache", "NGINX" taip pat plačiai naudojamas internete. Norėdami sukurti savo 504 Gateway Timeout klaidos puslapį "NGINX", šiame faile reikia atlikti toliau nurodytus pakeitimus.

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

504 būsenos kodo suderinamumas su naršyklėmis

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

Konstantos programavimo kalbose

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

Išorinės nuorodos, kuriose pateikiama daugiau informacijos apie HTTP būsenos kodą 504:

Autorius: Tony Brüser
Autorius: Tony Brüser

Tony Brüseris yra entuziastingas žiniatinklio kūrėjas, mėgstantis HTTP būsenos kodus.

LinkedInGitHub