502

Bad Gateway

Oficiální stránky Kódy dílčích stavů
navazující server vrátil chybovou zprávu

Specifikace stavového kódu HTTP 502

Stavový kód 502 Bad Gateway označuje, že server, který funguje jako brána nebo proxy server, obdržel neplatnou odpověď od příchozího serveru, ke kterému přistupoval při pokusu o splnění požadavku.

Zdroj / Citace z: Stavový kód 502 Bad Gateway HTTP je specifikován v oddílu 6.6.3 oddílu RFC7231.

Jak vyhodit stavový kód 502 pomocí PHP?

Pro zobrazení stavového kódu HTTP 502 na webové stránce lze použít funkci PHP http_response_code. Syntaxe je následující: http_response_code(502) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Testování stavového kódu HTTP 502

Aby bylo možné zobrazit stavový kód HTTP (v tomto případě 502 Bad Gateway) a další informace na straně klienta, je třeba otevřít vývojovou konzolu pomocí klávesy F12. Poté přejděte na kartu "Síť". Nyní lze stránku otevřít, webová stránka (příklad index.php) by měla být viditelná na kartě sítě. Ta musí být vybrána a poté musí být vybrána sekce Herder. Uživatel pak uvidí následující výsledek:

Stavový kód 502 Bad Gateway
Přehled
URL: https://http-statuscode.com/errorCodeExample.php?code=502
Stav: 502 Bad Gateway
Tyto stránky: Network
IP adresa: XX.XX.XX.XX
Stavový kód 502 Bad Gateway

Jak vyřeším problém se stavovým kódem 502?

Stavový kód HTTP 502 Bad Gateway obvykle vrací proxy server, který funguje jako prostředník mezi klientem (např. webovým prohlížečem) a serverem, se kterým chce klient komunikovat. K chybě dochází, když proxy server obdrží neplatnou odpověď od serveru vyššího řádu. Existuje několik možných příčin této chyby a níže se budu zabývat některými nejpravděpodobnějšími problémy a vysvětlím, jak je můžete odstranit.

  • Přetížený nebo nedostupný server upstream: Častou příčinou stavového kódu HTTP 502 Bad Gateway je přetížení nebo nedostupnost upstream serveru, ke kterému se proxy server připojuje. V takovém případě byste se měli ujistit, že upstream server funguje správně a má dostatek prostředků pro zpracování požadavků. Zkontrolujte protokoly serveru a síťová připojení a zjistěte, zda nedošlo k nějakým problémům. Pokud je server upstream přetížen, můžete problém vyřešit rozložením zátěže na více serverů nebo přidáním dalších zdrojů.
  • Síťové problémy: Dalším možným problémem jsou síťové problémy mezi serverem proxy a serverem upstream. Může se jednat o nestabilní připojení, problém s DNS nebo nastavení brány firewall, které brání komunikaci. Zkontrolujte nastavení sítě, zda jsou otevřeny všechny potřebné porty a zda je připojení stabilní. Otestujte také rozlišení DNS, abyste se ujistili, že je server upstream správně přeložen. V některých případech může být také užitečné restartovat proxy server, aby se vyřešily problémy se sítí.
  • Špatně nakonfigurovaný proxy server: Nesprávná konfigurace proxy serveru může také vést k zobrazení stavového kódu HTTP 502 Bad Gateway. Ujistěte se, že nastavení proxy serveru je správné a že proxy server správně přeposílá požadavky na upstream server. Zkontrolujte konfigurační soubory a nastavení serveru proxy a ujistěte se, že jsou správné. V některých případech může být také užitečné aktualizovat server proxy nebo přejít na jinou verzi, aby se odstranily známé problémy.
  • Chybná aplikace na serveru upstream: Je také možné, že na serveru upstream je chybná aplikace nebo konfigurace, což má za následek stavový kód HTTP 502 Bad Gateway. Zkontrolujte protokoly aplikace a serveru a vyhledejte možné chyby nebo výjimky. Aktualizujte nebo opravte aplikaci, abyste odstranili známé problémy. Může být také užitečné spolupracovat s vývojářem nebo správcem systému na analýze a vyřešení problému.
  • Problémy se samotným proxy serverem: Konečně, stavový kód HTTP 502 Bad Gateway může být také způsoben problémy se samotným proxy serverem. To může být způsobeno chybami softwaru, chybějícími aktualizacemi nebo hardwarovými problémy. Zkontrolujte protokoly proxy serveru, zda neobsahují chybová hlášení nebo varování. Aktualizujte proxy server na nejnovější verzi a zkontrolujte, zda nejsou známy problémy. V některých případech může být k odstranění problému nutné přeinstalovat server proxy nebo přejít na alternativní softwarové řešení.
    • Je důležité si uvědomit, že řešení stavového kódu HTTP 502 Bad Gateway je do značné míry závislé na konkrétním prostředí a konfiguraci. Při diagnostice a řešení problému může být užitečné spolupracovat se zkušeným vývojářem nebo správcem systému.

      .

Jak vytvořit vlastní chybovou stránku pro stavový kód 502

Vytvoření vlastní chybové stránky 502 Bad Gateway je na webových serverech Apache i NGINX poměrně snadné.

Apache Webserver

Webový server Apache je jedním z nejběžnějších webových serverů na internetu. Chcete-li vytvořit vlastní chybovou stránku 502 Bad Gateway v serveru "Apache", je třeba provést následující změnu v následujícím souboru.

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

NGINX Webserver

Podobně jako webový server Apache se na internetu hojně používá i NGINX. Chcete-li vytvořit vlastní chybovou stránku 502 Bad Gateway v serveru "NGINX", je třeba provést následující změnu v následujícím souboru.

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

Kompatibilita stavového kódu 502 s prohlížeči

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

Konstanty v programovacích jazycích

HttpStatusCode.BadGateway
http.StatusBadGateway
Response::HTTP_BAD_GATEWAY
httplib.BAD_GATEWAY
http.client.BAD_GATEWAY
http.HTTPStatus.BAD_GATEWAY
:bad_gateway

Dílčí stavové kódy stavového kódu 502

Dílčí stavové kódy jsou čistě technického rázu a nikdy by neměly být odesílány uživateli. Například pokud je vyhozen stavový kód 502.1, může být zaznamenán, ale uživateli bude zaslán stavový kód 502.:
502.1 CGI application timeout
HTTP IIS, Neoficiální
502.2 Bad gateway: Premature Exit
HTTP IIS, Neoficiální
502.3 Bad Gateway: Forwarder Connection Error (ARR)
HTP IIS, Neoficiální
502.4 Bad Gateway: No Server (ARR)
HTP IIS, Neoficiální
502.5 WebSocket failure (ARR)
HTTP IIS, Neoficiální
502.6 Forwarded request failure (ARR)
HTTP IIS, Neoficiální
502.7 Execute request failure (ARR)
HTTP IIS, Neoficiální
Autor: Tony Brüser
Autor: Tony Brüser

Tony Brüser je nadšený webový vývojář se zálibou ve stavových kódech HTTP.

LinkedInGitHub