502

Bad Gateway

Hivatalos Al-státuszkódok
a downstream szerver hibaüzenetet küldött vissza

A 502-es HTTP státuszkód megadása

Az 502 Bad Gateway-es állapotkód azt jelzi, hogy a kiszolgáló, miközben átjáróként vagy proxyként működik, érvénytelen választ kapott egy bejövő kiszolgálótól, amelyhez a kérés teljesítése során hozzáfért.

Forrás / Idézet: A 502 Bad Gateway HTTP státuszkódot a 6.6.3 szakasz RFC7231 szakasza határozza meg.

Hogyan dobhatok 502 státuszkódot PHP-vel?

A 502-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(502) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

A 502 HTTP státuszkód tesztelése

Ahhoz, hogy a HTTP státuszkódot (ebben az esetben 502 Bad Gateway) é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:

Állapot kód 502 Bad Gateway
Áttekintés
URL: https://http-statuscode.com/errorCodeExample.php?code=502
Állapot: 502 Bad Gateway
Azok: Network
IP-cím: XX.XX.XX.XX
Állapot kód 502 Bad Gateway

Hogyan oldhatom meg a 502-es státuszkóddal kapcsolatos problémát?

Az 502 Bad Gateway-es HTTP státuszkódot általában egy proxy-kiszolgáló küldi vissza, amely közvetítőként működik az ügyfél (pl. egy webböngésző) és a kiszolgáló között, amellyel az ügyfél kommunikálni kíván. A hiba akkor jelentkezik, amikor a proxykiszolgáló érvénytelen választ kap egy upstream kiszolgálótól. Ennek a hibának több oka is lehet, az alábbiakban a legvalószínűbb problémák közül néhányat ismertetek, és elmagyarázom, hogyan javíthatja őket.

  • Túlterhelt vagy elérhetetlen upstream szerver: Az 502 Bad Gateway-es HTTP státuszkód gyakori oka, hogy az upstream kiszolgáló, amelyhez a proxykiszolgáló csatlakozik, túlterhelt vagy elérhetetlen. Ebben az esetben meg kell győződnie arról, hogy az upstream kiszolgáló megfelelően működik, és elegendő erőforrással rendelkezik a kérések feldolgozásához. Ellenőrizze a kiszolgálónaplókat és a hálózati kapcsolatokat, hogy kiderüljön, van-e bármilyen probléma. Ha az upstream kiszolgáló túlterhelt, akkor a probléma megoldásához esetleg több kiszolgáló között oszthatja el a terhelést, vagy további erőforrásokat adhat hozzá.
  • Hálózati problémák: Egy másik lehetséges probléma a proxykiszolgáló és az upstream kiszolgáló közötti hálózati problémák. Ez lehet instabil kapcsolat, DNS-probléma vagy a kommunikációt akadályozó tűzfalbeállítás. Ellenőrizze a hálózati beállításokat, hogy minden szükséges port nyitva legyen, és a kapcsolat stabil legyen. Tesztelje a DNS-feloldást is, hogy megbizonyosodjon arról, hogy az upstream kiszolgáló helyesen oldódik fel. Bizonyos esetekben a hálózati problémák megoldásához a proxykiszolgáló újraindítása is hasznos lehet.
  • Hibásan konfigurált proxykiszolgáló: A proxykiszolgáló helytelen konfigurálása szintén vezethet 502 Bad Gateway-es HTTP-státuskódhoz. Győződjön meg arról, hogy a proxybeállítások megfelelőek, és a proxy-kiszolgáló megfelelően továbbítja a kéréseket az upstream kiszolgálónak. Ellenőrizze a proxy konfigurációs fájlokat és beállításokat, hogy azok helyesek legyenek. Bizonyos esetekben hasznos lehet a proxykiszolgáló frissítése vagy egy másik verzióra való váltás is az ismert problémák kijavítása érdekében.
  • Hibás alkalmazás az upstream kiszolgálón: Az is előfordulhat, hogy az upstream kiszolgálón hibás alkalmazás vagy konfiguráció található, ami 502 Bad Gateway-es HTTP státuszkódot eredményez. Ellenőrizze az alkalmazás- és kiszolgálónaplókat, hogy lehetséges hibákat vagy kivételeket keressen. Frissítse vagy javítsa az alkalmazást az ismert problémák kijavítása érdekében. Az is hasznos lehet, ha egy fejlesztővel vagy rendszergazdával együttműködve elemzi és megoldja a problémát.
  • Problémák magával a proxykiszolgálóval: Végül, az 502 Bad Gateway-es HTTP státuszkódot magával a proxykiszolgálóval kapcsolatos problémák is okozhatják. Ennek oka lehet szoftverhiba, hiányzó frissítések vagy hardverproblémák. Ellenőrizze a proxykiszolgáló naplóit hibaüzenetek vagy figyelmeztetések után. Frissítse a proxykiszolgálót a legújabb verzióra, és ellenőrizze az ismert problémákat. Bizonyos esetekben szükség lehet a proxykiszolgáló újratelepítésére vagy alternatív szoftveres megoldásra való áttérésre a probléma megoldásához.
    • Nem szabad megfeledkezni arról, hogy az 502 Bad Gateway-es HTTP státuszkód feloldása nagyban függ az adott környezettől és konfigurációtól. Hasznos lehet egy tapasztalt fejlesztővel vagy rendszergazdával együttműködni a probléma diagnosztizálásában és megoldásában.

      .

Hogyan hozzon létre saját hibaoldalt a 502-es státuszkódhoz?

Saját 502 Bad Gateway-es hibaoldal létrehozása viszonylag egyszerű mind az "Apache", mind az "NGINX" webszerverek esetében.

Apache Webserver

Az "Apache" webszerver az egyik legelterjedtebb webszerver az interneten. A saját 502 Bad Gateway-es hibaoldal létrehozásához az "Apache"-ban a következő változtatást kell elvégezni a következő fájlban.

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

NGINX Webserver

Az "Apache" webszerverhez hasonlóan az "NGINX" is széles körben használatos az interneten. A saját 502 Bad Gateway-es hibaoldal létrehozásához az "NGINX"-ben a következő változtatást kell elvégezni az alábbi fájlban.

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

A 502 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.BadGateway
http.StatusBadGateway
Response::HTTP_BAD_GATEWAY
httplib.BAD_GATEWAY
http.client.BAD_GATEWAY
http.HTTPStatus.BAD_GATEWAY
:bad_gateway

A 502 státuszkód alállapot kódjai

Az alállapotkódok tisztán technikai jellegűek, és soha nem szabad elküldeni őket a felhasználónak. Például, ha 502.1 státuszkódot dob, azt naplózni lehet, de a felhasználónak 502-es státuszkódot kell küldeni.:
502.1 CGI application timeout
HTTP IIS, Nem hivatalos
502.2 Bad gateway: Premature Exit
HTTP IIS, Nem hivatalos
502.3 Bad Gateway: Forwarder Connection Error (ARR)
HTP IIS, Nem hivatalos
502.4 Bad Gateway: No Server (ARR)
HTP IIS, Nem hivatalos
502.5 WebSocket failure (ARR)
HTTP IIS, Nem hivatalos
502.6 Forwarded request failure (ARR)
HTTP IIS, Nem hivatalos
502.7 Execute request failure (ARR)
HTTP IIS, Nem hivatalos

Szórakoztató mémek a 502-es HTTP státuszkódról

Szerző: Tony Brüser
Szerző: Tony Brüser

Tony Brüser lelkes webfejlesztő, aki előszeretettel használja a HTTP státuszkódokat.

LinkedInGitHub