504
Gateway Timeout
Általános magyarázat a 504 státuszkódra
A HTTP 504 Gateway Timeout-es hiba akkor fordul elő, amikor a kiszolgáló megpróbál válaszolni egy ügyfél kérésére, de nem tudja ezt ésszerű időn belül megtenni. Ezt a hibát általában "átjáró időkorlátnak" nevezik, mivel gyakran akkor fordul elő, amikor az ügyfél és a kiszolgáló között közvetítő proxy-kiszolgáló vagy átjáró nem tud csatlakozni vagy választ kapni a kiszolgálótól. Ennek különböző okai lehetnek, például a kiszolgáló túlterhelése, hálózati problémák vagy a proxy vagy átjáró nem megfelelő konfigurációja.
.A 504-es HTTP státuszkód megadása
Forrás / Idézet: A 504 Gateway Timeout HTTP státuszkódot a 6.6.5 szakasz RFC7231 szakasza határozza meg.
HTTP protokoll
Hogyan dobhatok 504 státuszkódot PHP-vel?
A 504-es HTTP státuszkódot egy weboldalon a PHP http_response_code függvényével adhatjuk meg. A szintaxis a következő: http_response_code(504) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
A 504 HTTP státuszkód tesztelése
Ahhoz, hogy a HTTP státuszkódot (ebben az esetben 504 Gateway Timeout) és egyéb információkat meg tudjon jeleníteni az ügyféloldalon, a fejlesztői konzolt az F12 billentyűvel kell megnyitni. Ezután navigáljon a "Hálózat" fülre. Most már megnyitható az oldal, a weboldalnak (példa index.php) láthatónak kell lennie a hálózat fülön. Ezt ki kell választani, majd a Herder szekciót kell kiválasztani. A felhasználó ezután a következő eredményt fogja látni:
URL: https://http-statuscode.com/errorCodeExample.php?code=504
Állapot: 504 Gateway Timeout
Azok: Network
IP-cím: XX.XX.XX.XX
Hogyan oldhatom meg a 504-es státuszkóddal kapcsolatos problémát?
Az 504 Gateway Timeout "Gateway Timeout" HTTP-hiba több lehetséges oka is lehet, például:
- Szerver túlterheltsége: Ha egy kiszolgáló túl sok kérést kap, és nem képes ésszerű időn belül megválaszolni azokat, akkor időkorlátos hiba léphet fel. Ez a kiszolgáló méretezésével vagy erőforrások, például CPU, RAM vagy tároló hozzáadásával orvosolható.
- Hálózati problémák: Időtúllépési hiba akkor is előfordulhat, ha az ügyfél és a kiszolgáló közötti hálózati kapcsolattal problémák vannak. Ez a hálózati kapcsolat ellenőrzésével, az útválasztó vagy tűzfal konfigurációjának ellenőrzésével vagy a hálózati komponensek újraindításával javítható.
- Proxy- vagy átjáróproblémák: Az ügyfél és a kiszolgáló között közvetítő átjáró vagy proxy szintén okozhat időtúllépési hibát. Ez a proxy vagy az átjáró beállításainak ellenőrzésével és módosításával javítható.
- Lassú alkalmazás vagy adatbázis: Ha egy alkalmazás vagy adatbázis lassan fut, az szintén okozhat időtúllépési hibát. Ez az alkalmazás vagy az adatbázis optimalizálásával javítható.
A probléma megoldásához a következő intézkedések hozhatók:
- A szerver állapotának ellenőrzése, és győződjön meg arról, hogy nincs túlterhelve.
- A hálózati kapcsolat ellenőrzése, és győződjön meg arról, hogy stabil és megbízható.
- Ellenőrizze a proxyk vagy átjárók konfigurációját, és szükség esetén állítsa be.
- Az alkalmazás vagy az adatbázis optimalizálása a teljesítmény javítása érdekében.
- A hálózati komponensek vagy kiszolgálók újraindítása szintén segíthet a probléma megoldásában.
Sok esetben ezen intézkedések kombinációja is megoldhatja a problémát.
Hogyan hozzon létre saját hibaoldalt a 504-es státuszkódhoz?
Apache Webserver
Az "Apache" webszerver az egyik legelterjedtebb webszerver az interneten. A saját 504 Gateway Timeout-es hibaoldal létrehozásához az "Apache"-ban a következő változtatást kell elvégezni a következő fájlban.
NGINX Webserver
Az "Apache" webszerverhez hasonlóan az "NGINX" is széles körben használatos az interneten. A saját 504 Gateway Timeout-es hibaoldal létrehozásához az "NGINX"-ben a következő változtatást kell elvégezni az alábbi fájlban.
location = /504.html {
root /usr/share/nginx/html;
internal;
}
A 504 státuszkód böngésző kompatibilitása
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 |
Állandók a programozási nyelvekben
HttpStatusCode.GatewayTimeout
http.StatusGatewayTimeout
Response::HTTP_GATEWAY_TIMEOUT
httplib.GATEWAY_TIMEOUT
http.client.GATEWAY_TIMEOUT
http.HTTPStatus.GATEWAY_TIMEOUT
:gateway_timeout