502

Bad Gateway

Uradna stran Oznake podstav
strežnik navzdol po verigi je vrnil sporočilo o napaki

Specifikacija kode stanja HTTP 502

Koda stanja 502 Bad Gateway označuje, da je strežnik, ki deluje kot prehod ali posrednik, prejel neveljaven odziv od vhodnega strežnika, do katerega je dostopal pri poskusu izpolnitve zahteve.

Vir / citat iz: Koda stanja HTTP 502 Bad Gateway je določena v razdelku 6.6.3 oddelka RFC7231.

Kako s PHP vrniti kodo stanja 502?

Za prikaz kode stanja HTTP 502 na spletni strani lahko uporabite funkcijo PHP http_response_code. Sintaksa je naslednja: http_response_code(502) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Preizkus kode stanja HTTP 502

Če želite prikazati kodo stanja HTTP (v tem primeru 502 Bad Gateway) in druge informacije na strani odjemalca, morate s tipko F12 odpreti razvojno konzolo. Nato pojdite na zavihek "Omrežje". Zdaj lahko odprete stran, spletno mesto (primer index.php) mora biti vidno v zavihku omrežje. To je treba izbrati, nato pa je treba izbrati razdelek Herder. Uporabnik bo nato videl naslednji rezultat:

Koda stanja 502 Bad Gateway
Pregled
URL: https://http-statuscode.com/errorCodeExample.php?code=502
Status: 502 Bad Gateway
Ti: Network
Naslov IP: XX.XX.XX.XX
Koda stanja 502 Bad Gateway

Kako lahko rešim težavo s kodo stanja 502?

Stavno kodo HTTP 502 Bad Gateway običajno vrne posredniški strežnik, ki deluje kot posrednik med odjemalcem (npr. spletnim brskalnikom) in strežnikom, s katerim želi odjemalec komunicirati. Napaka se pojavi, ko posredniški strežnik prejme neveljaven odgovor od strežnika višje stopnje. Obstaja več možnih vzrokov za to napako, v nadaljevanju pa bom opisal nekaj najverjetnejših težav in pojasnil, kako jih lahko odpravite.

  • Preobremenjen ali nedosegljiv strežnik višje stopnje: Pogost razlog za kodo stanja HTTP 502 Bad Gateway je, da je strežnik višje stopnje, s katerim je povezan posredniški strežnik, preobremenjen ali nedosegljiv. V tem primeru se morate prepričati, da strežnik višje stopnje deluje pravilno in ima dovolj virov za obdelavo zahtevkov. Preverite dnevnike strežnika in omrežne povezave, da ugotovite, ali obstajajo kakršne koli težave. Če je strežnik navzgor po verigi preobremenjen, lahko obremenitev porazdelite med več strežnikov ali dodate dodatna sredstva in tako odpravite težavo.
  • Mrežne težave: Druga možna težava so omrežne težave med strežnikom proxy in strežnikom navzgor po verigi. To je lahko nestabilna povezava, težava DNS ali nastavitev požarnega zidu, ki ovira komunikacijo. Preverite omrežne nastavitve in se prepričajte, da so odprta vsa potrebna vrata in da je povezava stabilna. Preizkusite tudi resolucijo DNS in se prepričajte, da je predhodni strežnik pravilno razrešen. V nekaterih primerih je morda koristno tudi ponovno zagnati posredniški strežnik, da se odpravijo težave z omrežjem.
  • Neskonfiguriran posredniški strežnik: Nepravilna konfiguracija posredniškega strežnika lahko povzroči tudi kodo stanja HTTP 502 Bad Gateway. Prepričajte se, da so nastavitve posredniškega strežnika pravilne in da posredniški strežnik pravilno posreduje zahteve strežniku v višji strežnik. Preverite konfiguracijske datoteke in nastavitve strežnika proxy ter se prepričajte, da so pravilne. V nekaterih primerih je morda koristno tudi posodobiti strežnik proxy ali preklopiti na drugo različico, da se odpravijo znane težave.
  • Napačna aplikacija v strežniku navzgor: Možno je tudi, da je v strežniku navzgor po verigi napačna aplikacija ali konfiguracija, zaradi česar se pojavi koda stanja HTTP 502 Bad Gateway. Preverite dnevnike aplikacije in strežnika ter poiščite morebitne napake ali izjeme. Posodobite ali popravite aplikacijo, da odpravite znane težave. Pri analizi in reševanju težave je morda koristno sodelovati z razvijalcem ali sistemskim administratorjem.
  • Probleme s samim posredniškim strežnikom: Končno, kodo stanja HTTP 502 Bad Gateway lahko povzročijo tudi težave s samim posredniškim strežnikom. To je lahko posledica napak programske opreme, manjkajočih posodobitev ali težav s strojno opremo. V dnevnikih posredniškega strežnika preverite sporočila o napakah ali opozorila. Posodobite strežnik proxy na najnovejšo različico in preverite znane težave. V nekaterih primerih bo za odpravo težave morda treba ponovno namestiti posredniški strežnik ali preiti na alternativno programsko rešitev.
    • Važno je opozoriti, da je rešitev kode stanja HTTP 502 Bad Gateway zelo odvisna od vašega posebnega okolja in konfiguracije. Pri diagnosticiranju in odpravi težave je morda koristno sodelovati z izkušenim razvijalcem ali sistemskim administratorjem.

      .

Kako ustvariti lastno stran z napako za kodo stanja 502

Ustvarjanje lastne strani z napako 502 Bad Gateway je razmeroma enostavno tako v spletnih strežnikih Apache kot NGINX.

Apache Webserver

Spletni strežnik Apache je eden najpogostejših spletnih strežnikov v internetu. Če želite v strežniku "Apache" ustvariti lastno stran z napako 502 Bad Gateway, morate v naslednji datoteki narediti naslednjo spremembo.

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

NGINX Webserver

Podobno kot spletni strežnik Apache se tudi NGINX pogosto uporablja na internetu. Če želite v strežniku "NGINX" ustvariti lastno stran z napako 502 Bad Gateway, morate v naslednji datoteki narediti naslednjo spremembo.

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

Združljivost kode stanja 502 z brskalniki

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

Konstante v programskih jezikih

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

Podkodice stanja kode stanja 502

Podkodne kode stanja so izključno tehnične narave in se uporabniku nikoli ne smejo pošiljati. Če se na primer vrže koda stanja 502.1, se lahko zabeleži, vendar se uporabniku pošlje koda stanja 502.:
502.1 CGI application timeout
HTTP IIS, Neuradno
502.2 Bad gateway: Premature Exit
HTTP IIS, Neuradno
502.3 Bad Gateway: Forwarder Connection Error (ARR)
HTP IIS, Neuradno
502.4 Bad Gateway: No Server (ARR)
HTP IIS, Neuradno
502.5 WebSocket failure (ARR)
HTTP IIS, Neuradno
502.6 Forwarded request failure (ARR)
HTTP IIS, Neuradno
502.7 Execute request failure (ARR)
HTTP IIS, Neuradno
Avtor: Tony Brüser
Avtor: Tony Brüser

Tony Brüser je navdušen spletni razvijalec, ki je navdušen nad kodami stanja HTTP.

LinkedInGitHub