502
Bad Gateway
HTTP būsenos kodo 502 specifikacija
Šaltinis / citata iš: HTTP būsenos kodas 502 Bad Gateway nurodytas 6.6.3 skirsnyje 6.6.3.
HTTP protokolas
Kaip naudojant PHP išmesti 502 būsenos kodą?
Norint žiniatinklio puslapyje nurodyti HTTP būsenos kodą 502, galima naudoti PHP funkciją http_response_code. Sintaksė tokia: http_response_code(502) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
HTTP būsenos kodo 502 testavimas
Kad kliento pusėje būtų galima rodyti HTTP būsenos kodą (šiuo atveju 502 Bad Gateway) ir kitą informaciją, kūrimo konsolę reikia atidaryti klavišu F12. Tada pereikite prie skirtuko "Network" (tinklas). Dabar galima atidaryti puslapį, tinklo skirtuke turi būti matoma svetainė (pavyzdys index.php). Ją reikia pasirinkti, o tada reikia pasirinkti skyrių Herder (Herderis). Tada naudotojas matys tokį rezultatą:
URL: https://http-statuscode.com/errorCodeExample.php?code=502
Statusas: 502 Bad Gateway
Šie: Network
IP adresas: XX.XX.XX.XX
Kaip išspręsti 502 būsenos kodo problemą?
HTP būsenos kodą 502 Bad Gateway paprastai grąžina tarpinis serveris, kuris veikia kaip tarpininkas tarp kliento (pvz., žiniatinklio naršyklės) ir serverio, su kuriuo klientas nori bendrauti. Klaida atsiranda, kai tarpinis serveris gauna neteisingą atsakymą iš aukštesnio lygio serverio. Galimos kelios šios klaidos priežastys, toliau aptarsiu keletą labiausiai tikėtinų problemų ir paaiškinsiu, kaip jas išspręsti.
- Perkrautas arba nepasiekiamas aukštesnio lygmens serveris: Dažna HTTP būsenos kodo 502 Bad Gateway priežastis yra ta, kad aukštesnio lygmens serveris, prie kurio jungiasi tarpinis serveris, yra perkrautas arba nepasiekiamas. Tokiu atveju turėtumėte įsitikinti, kad aukštesnio lygmens serveris veikia tinkamai ir turi pakankamai išteklių užklausoms apdoroti. Patikrinkite serverio žurnalus ir tinklo ryšius, kad sužinotumėte, ar nėra kokių nors problemų. Jei aukštesnio lygmens serveris yra perkrautas, galbūt galėsite paskirstyti apkrovą keliems serveriams arba pridėti papildomų išteklių, kad išspręstumėte problemą.
- Tinklo problemos: Kita galima problema - tinklo problemos tarp tarp tarpinio serverio ir aukštesnio lygmens serverio. Tai gali būti nestabilus ryšys, DNS problema arba ugniasienės nustatymas, trukdantis ryšiui. Patikrinkite tinklo nustatymus ir įsitikinkite, kad visi reikalingi prievadai yra atidaryti ir ryšys yra stabilus. Taip pat patikrinkite DNS skiriamąją gebą, kad įsitikintumėte, jog pirminis serveris yra skiriamas tinkamai. Kai kuriais atvejais taip pat gali būti naudinga iš naujo paleisti tarpinį serverį, kad būtų išspręstos tinklo problemos.
- Neteisingai sukonfigūruotas tarpinis serveris: Neteisingai sukonfigūruotas tarpinis serveris taip pat gali sukelti HTTP būsenos kodą 502 Bad Gateway. Įsitikinkite, kad tarpinio serverio nustatymai yra teisingi ir kad tarpinis serveris tinkamai persiunčia užklausas į aukštesnio lygmens serverį. Patikrinkite tarpinio serverio konfigūracijos failus ir nustatymus, kad įsitikintumėte, jog jie yra teisingi. Kai kuriais atvejais taip pat gali būti naudinga atnaujinti tarpinį serverį arba pereiti prie kitos versijos, kad būtų išspręstos žinomos problemos.
- Klaidinga paraiška aukštesnės pakopos serveryje: Taip pat gali būti, kad pradiniame serveryje yra ydinga programa arba konfigūracija, dėl kurios gaunamas HTTP būsenos kodas 502 Bad Gateway. Patikrinkite programos ir serverio žurnalus ir ieškokite galimų klaidų ar išimčių. Atnaujinkite arba pataisykite programą, kad išspręstumėte žinomas problemas. Taip pat gali būti naudinga bendradarbiauti su kūrėju arba sistemos administratoriumi, kad problema būtų išanalizuota ir išspręsta.
- Problemos su pačiu tarpinio serverio serveriu: Galiausiai, HTTP būsenos kodą 502 Bad Gateway gali sukelti ir paties tarpinio serverio problemos. Taip gali nutikti dėl programinės įrangos klaidų, trūkstamų atnaujinimų arba aparatinės įrangos problemų. Patikrinkite proxy serverio žurnalus, ar juose nėra klaidų pranešimų arba įspėjimų. Atnaujinkite tarpinio serverio naujausią versiją ir patikrinkite, ar nėra žinomų problemų. Kai kuriais atvejais, norint išspręsti problemą, gali tekti iš naujo įdiegti proxy serverį arba pereiti prie alternatyvaus programinės įrangos sprendimo.
Svarbu pažymėti, kad HTTP būsenos kodo 502 Bad Gateway išsprendimas labai priklauso nuo konkrečios aplinkos ir konfigūracijos. Gali būti naudinga bendradarbiauti su patyrusiu programuotoju arba sistemos administratoriumi, kad būtų galima diagnozuoti ir išspręsti problemą.
.Kaip sukurti savo klaidų puslapį, kuriame būtų rodomas būsenos kodas 502
Apache Webserver
Interneto serveris "Apache" yra vienas iš labiausiai paplitusių interneto svetainių serverių. Norėdami sukurti savo 502 Bad Gateway klaidos puslapį "Apache", šiame faile reikia atlikti toliau nurodytus pakeitimus.
NGINX Webserver
Panašiai kaip ir žiniatinklio serveris "Apache", "NGINX" taip pat plačiai naudojamas internete. Norėdami sukurti savo 502 Bad Gateway klaidos puslapį "NGINX", šiame faile reikia atlikti toliau nurodytus pakeitimus.
location = /502.html {
root /usr/share/nginx/html;
internal;
}
502 būsenos kodo suderinamumas su naršyklėmis
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 |
Konstantos programavimo kalbose
HttpStatusCode.BadGateway
http.StatusBadGateway
Response::HTTP_BAD_GATEWAY
httplib.BAD_GATEWAY
http.client.BAD_GATEWAY
http.HTTPStatus.BAD_GATEWAY
:bad_gateway
502 būsenos kodo būsenos poaibio kodai
502.1 | CGI application timeout HTTP IIS, Neoficialus |
502.2 | Bad gateway: Premature Exit HTTP IIS, Neoficialus |
502.3 | Bad Gateway: Forwarder Connection Error (ARR) HTP IIS, Neoficialus |
502.4 | Bad Gateway: No Server (ARR) HTP IIS, Neoficialus |
502.5 | WebSocket failure (ARR) HTTP IIS, Neoficialus |
502.6 | Forwarded request failure (ARR) HTTP IIS, Neoficialus |
502.7 | Execute request failure (ARR) HTTP IIS, Neoficialus |