502

Bad Gateway

Officiel Understatuskoder
downstream-serveren returnerede en fejlmeddelelse

Specifikation af HTTP-statuskode 502

Statuskoden 502 Bad Gateway angiver, at serveren, mens den fungerer som gateway eller proxy, har modtaget et ugyldigt svar fra en indgående server, som den fik adgang til i forsøget på at opfylde anmodningen.

Kilde / citat fra: HTTP-statuskoden 502 Bad Gateway er specificeret i afsnit 6.6.3 i RFC7231.

Hvordan får man en 502-statuskode med PHP?

Hvis du vil have HTTP-statuskoden 502 på en webside, kan du bruge PHP-funktionen http_response_code. Syntaksen er som følger: http_response_code(502) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Test 502 HTTP-statuskoden

For at kunne vise HTTP-statuskoden (i dette tilfælde 502 Bad Gateway) og andre oplysninger på klientsiden skal udviklingskonsollen åbnes med F12. Naviger derefter til fanen "Network" (netværk). Nu kan siden åbnes, hjemmesiden (eksempel index.php) skal være synlig i fanen netværk. Denne skal vælges, og derefter skal Herder-sektionen vælges. Brugeren vil derefter se følgende resultat:

Statuskode 502 Bad Gateway
Oversigt
URL: https://http-statuscode.com/errorCodeExample.php?code=502
Status: 502 Bad Gateway
Disse: Network
IP-adresse: XX.XX.XX.XX
Statuskode 502 Bad Gateway

Hvordan løser jeg problemet med 502-statuskoden?

502 Bad Gateway returneres normalt af en proxyserver, der fungerer som et mellemled mellem klienten (f.eks. en webbrowser) og den server, som klienten ønsker at kommunikere med. Fejlen opstår, når proxyserveren modtager et ugyldigt svar fra en upstream-server. Der er flere mulige årsager til denne fejl, og jeg vil diskutere nogle af de mest sandsynlige problemer nedenfor og forklare, hvordan du kan løse dem.

  • Overbelastet eller uopnåelig upstream-server: En almindelig årsag til HTTP-statuskode 502 Bad Gateway er, at den upstream-server, som proxyserveren opretter forbindelse til, er overbelastet eller utilgængelig. I dette tilfælde skal du sørge for, at upstream-serveren fungerer korrekt og har nok ressourcer til at behandle anmodningerne. Tjek serverlogfilerne og netværksforbindelserne for at se, om der er nogen problemer. Hvis upstream-serveren er overbelastet, kan du muligvis fordele belastningen på flere servere eller tilføje ekstra ressourcer for at løse problemet.
  • Netværksproblemer: Et andet muligt problem er netværksproblemer mellem proxyserveren og upstream-serveren. Det kan være en ustabil forbindelse, et DNS-problem eller en firewall-indstilling, der forhindrer kommunikationen. Tjek netværksindstillingerne for at sikre, at alle nødvendige porte er åbne, og at forbindelsen er stabil. Test også DNS-opløsningen for at sikre, at upstream-serveren er opløst korrekt. I nogle tilfælde kan det også være nyttigt at genstarte proxyserveren for at løse netværksproblemer.
  • Forkert konfigureret proxyserver: Forkert konfiguration af proxyserveren kan også føre til en HTTP-statuskode 502 Bad Gateway. Sørg for, at proxyindstillingerne er korrekte, og at proxyserveren videresender anmodningerne korrekt til upstream-serveren. Tjek proxyens konfigurationsfiler og indstillinger for at sikre, at de er korrekte. I nogle tilfælde kan det også være nyttigt at opdatere proxyserveren eller skifte til en anden version for at løse kendte problemer.
  • Fejlbehæftet program på upstream-serveren: Det er også muligt, at upstream-serveren har et defekt program eller en defekt konfiguration, der resulterer i en HTTP-statuskode 502 Bad Gateway. Tjek applikationens og serverens logfiler for at se efter mulige fejl eller undtagelser. Opdater eller reparer applikationen for at løse kendte problemer. Det kan også være nyttigt at arbejde sammen med en udvikler eller systemadministrator for at analysere og løse problemet.
  • Problemer med selve proxyserveren: Endelig kan HTTP-statuskode 502 Bad Gateway også være forårsaget af problemer med selve proxyserveren. Det kan skyldes softwarefejl, manglende opdateringer eller hardwareproblemer. Tjek proxyserverens logfiler for fejlmeddelelser eller advarsler. Opdater proxyserveren til den nyeste version, og tjek for kendte problemer. I nogle tilfælde kan det være nødvendigt at geninstallere proxyserveren eller skifte til en alternativ softwareløsning for at løse problemet.
    • Det er vigtigt at bemærke, at løsning af HTTP-statuskode 502 Bad Gateway er meget afhængig af dit specifikke miljø og konfiguration. Det kan være nyttigt at arbejde sammen med en erfaren udvikler eller systemadministrator for at diagnosticere og løse problemet.

      .

Sådan opretter du din egen fejlside for statuskode 502

Det er relativt nemt at oprette din egen 502 Bad Gateway-fejlside med både Apache- og NGINX-webservere.

Apache Webserver

Webserveren "Apache" er en af de mest almindelige webservere på internettet. For at oprette din egen 502 Bad Gateway-fejlside i "Apache" skal du foretage følgende ændring i følgende fil.

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

NGINX Webserver

I lighed med webserveren "Apache" er "NGINX" også meget udbredt på internettet. For at oprette din egen 502 Bad Gateway-fejlside i "NGINX" skal du foretage følgende ændring i følgende fil.

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

Browserkompatibilitet for 502-statuskoden

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

Konstanter i programmeringssprog

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

Understatuskoder til 502-statuskoden

Substatuskoder er rent tekniske og bør aldrig sendes til brugeren. Hvis f.eks. statuskode 502.1 vises, kan det logges, men statuskode 502 sendes til brugeren.:
502.1 CGI application timeout
HTTP IIS, Uofficiel
502.2 Bad gateway: Premature Exit
HTTP IIS, Uofficiel
502.3 Bad Gateway: Forwarder Connection Error (ARR)
HTP IIS, Uofficiel
502.4 Bad Gateway: No Server (ARR)
HTP IIS, Uofficiel
502.5 WebSocket failure (ARR)
HTTP IIS, Uofficiel
502.6 Forwarded request failure (ARR)
HTTP IIS, Uofficiel
502.7 Execute request failure (ARR)
HTTP IIS, Uofficiel
Forfatter: Tony Brüser
Forfatter: Tony Brüser

Tony Brüser er en entusiastisk webudvikler med en forkærlighed for HTTP-statuskoder.

LinkedInGitHub