502

Bad Gateway

Oficjalny Kody podstatusów
serwer downstream zwrócił komunikat o błędzie

Specyfikacja kodu statusu HTTP 502

Kod statusu 502 Bad Gateway wskazuje, że serwer, działając jako brama lub proxy, otrzymał nieprawidłową odpowiedź od serwera przychodzącego, do którego uzyskał dostęp podczas próby spełnienia żądania.

Źródło / Cytat z: Kod statusu 502 Bad Gateway HTTP jest określony przez sekcję 6.6.3 z RFC7231.

Jak wyrzucić kod statusu 502 za pomocą PHP?

Aby wyrzucić na stronę internetową kod statusu HTTP 502, można użyć funkcji PHP http_response_code. Składnia jest następująca: http_response_code(502) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Testowanie kodu 502 statusu HTTP

Aby móc wyświetlić kod statusu HTTP (w tym przypadku 502 Bad Gateway) i inne informacje po stronie klienta, należy otworzyć konsolę programistyczną za pomocą F12. Następnie należy przejść do zakładki "Network". Teraz można otworzyć stronę, w zakładce "Network" powinna być widoczna strona (przykładowy index.php). Należy ją zaznaczyć, a następnie wybrać sekcję Herder. Użytkownik zobaczy wtedy następujący wynik:

Kod statusu 502 Bad Gateway
Przegląd
URL: https://http-statuscode.com/errorCodeExample.php?code=502
Status: 502 Bad Gateway
Te: Network
Adres IP: XX.XX.XX.XX
Kod statusu 502 Bad Gateway

Jak rozwiązać problem z kodem statusu 502?

Kod statusu HTTP 502 Bad Gateway jest zwykle zwracany przez serwer proxy, który działa jako pośrednik między klientem (np. przeglądarką internetową) a serwerem, z którym klient chce się komunikować. Błąd pojawia się, gdy serwer proxy otrzymuje nieprawidłową odpowiedź z serwera nadrzędnego. Istnieje kilka możliwych przyczyn tego błędu, a poniżej omówię niektóre z najbardziej prawdopodobnych problemów i wyjaśnię, jak można je naprawić.

  • Przeciążony lub nieosiągalny serwer nadrzędny: Częstym powodem kodu stanu HTTP 502 Bad Gateway jest to, że serwer nadrzędny, z którym łączy się serwer proxy, jest przeciążony lub nieosiągalny. W takim przypadku należy upewnić się, że serwer nadrzędny działa prawidłowo i ma wystarczające zasoby do przetwarzania żądań. Sprawdź dzienniki serwera i połączenia sieciowe, aby sprawdzić, czy występują jakieś problemy. Jeśli serwer upstream jest przeciążony, możesz być w stanie rozłożyć obciążenie na wiele serwerów lub dodać dodatkowe zasoby, aby rozwiązać problem.
  • Problemy sieciowe: Innym możliwym problemem są problemy sieciowe między serwerem proxy a serwerem upstream. Może to być niestabilne połączenie, problem z DNS lub ustawienie zapory sieciowej, które utrudnia komunikację. Sprawdź ustawienia sieciowe, aby upewnić się, że wszystkie niezbędne porty są otwarte, a połączenie jest stabilne. Przetestuj również rozdzielczość DNS, aby upewnić się, że serwer upstream jest prawidłowo rozpoznawany. W niektórych przypadkach pomocne może być również ponowne uruchomienie serwera proxy w celu rozwiązania problemów z siecią.
  • Nieprawidłowo skonfigurowany serwer proxy: Nieprawidłowa konfiguracja serwera proxy może również prowadzić do kodu stanu HTTP 502 Bad Gateway. Upewnij się, że ustawienia serwera proxy są prawidłowe i że serwer proxy prawidłowo przekazuje żądania do serwera nadrzędnego. Sprawdź pliki konfiguracyjne proxy i ustawienia, aby upewnić się, że są poprawne. W niektórych przypadkach pomocne może być również zaktualizowanie serwera proxy lub przejście na inną wersję w celu naprawienia znanych problemów.
  • Błędna aplikacja na serwerze upstream: Możliwe jest również, że serwer upstream ma wadliwą aplikację lub konfigurację powodującą kod stanu HTTP 502 Bad Gateway. Sprawdź dzienniki aplikacji i serwera w poszukiwaniu możliwych błędów lub wyjątków. Zaktualizuj lub napraw aplikację, aby usunąć znane problemy. Pomocna może być również współpraca z programistą lub administratorem systemu w celu przeanalizowania i rozwiązania problemu.
  • Problemy z samym serwerem proxy: Wreszcie, kod statusu HTTP 502 Bad Gateway może być również spowodowany problemami z samym serwerem proxy. Może to być spowodowane błędami oprogramowania, brakującymi aktualizacjami lub problemami sprzętowymi. Sprawdź dzienniki serwera proxy pod kątem komunikatów o błędach lub ostrzeżeń. Zaktualizuj serwer proxy do najnowszej wersji i sprawdź znane problemy. W niektórych przypadkach może być konieczne ponowne zainstalowanie serwera proxy lub przełączenie się na alternatywne rozwiązanie programowe w celu rozwiązania problemu.
    • Należy zauważyć, że rozwiązanie kodu stanu HTTP 502 Bad Gateway jest wysoce zależne od konkretnego środowiska i konfiguracji. Pomocna może być współpraca z doświadczonym programistą lub administratorem systemu w celu zdiagnozowania i rozwiązania problemu.

      .

Jak stworzyć własną stronę błędu dla kodu statusu 502

Stworzenie własnej strony błędu 502 Bad Gateway jest stosunkowo proste zarówno w przypadku serwera "Apache" jak i "NGINX".

Apache Webserver

Serwer WWW "Apache" jest jednym z najczęściej spotykanych serwerów WWW w Internecie. Aby stworzyć własną stronę błędu 502 Bad Gateway w "Apache", należy dokonać następującej zmiany w poniższym pliku.

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

NGINX Webserver

Podobnie jak serwer internetowy "Apache", "NGINX" jest również szeroko stosowany w Internecie. Aby stworzyć własną stronę błędu 502 Bad Gateway w "NGINX", należy dokonać następującej zmiany w poniższym pliku.

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

Zgodność kodu statusu 502 z przeglądarką

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

Stałe w językach programowania

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

Kody podstatusów kodu statusu 502

Kody statusu sub są czysto techniczne i nigdy nie powinny być wysyłane do użytkownika. Na przykład, jeśli kod statusu 502.1 jest rzucany, może być rejestrowany, ale kod statusu 502 zostanie wysłany do użytkownika.:
502.1 CGI application timeout
HTTP IIS, Nieoficjalne
502.2 Bad gateway: Premature Exit
HTTP IIS, Nieoficjalne
502.3 Bad Gateway: Forwarder Connection Error (ARR)
HTP IIS, Nieoficjalne
502.4 Bad Gateway: No Server (ARR)
HTP IIS, Nieoficjalne
502.5 WebSocket failure (ARR)
HTTP IIS, Nieoficjalne
502.6 Forwarded request failure (ARR)
HTTP IIS, Nieoficjalne
502.7 Execute request failure (ARR)
HTTP IIS, Nieoficjalne
Autor: Tony Brüser
Autor: Tony Brüser

Tony Brüser jest entuzjastycznym twórcą stron internetowych z zamiłowaniem do kodów statusu HTTP.

LinkedInGitHub