502

Bad Gateway

Ametlik Alamstaatuse koodid
allavoolu server tagastas veateate

HTTP staatuskoodi 502 täpsustamine

Staatus 502 Bad Gateway näitab, et server, kes tegutseb värava või proxy'na, sai taotluse täitmist üritades vigase vastuse sissetulevalt serverilt, millele ta pöördus.

Allikas / Tsitaat: HTTP-kood 502 Bad Gateway on määratletud jaotises 6.6.3 jaotises RFC7231.

Kuidas PHP-ga 502 staatuskoodi visata?

Veebilehel HTTP-koodi 502 kuvamiseks võib kasutada PHP-funktsiooni http_response_code. Süntaks on järgmine: http_response_code(502) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Testige HTTP-koodi 502

Selleks, et kuvada HTTP staatuskoodi (antud juhul 502 Bad Gateway) ja muud teavet kliendi poolel, tuleb arenduskonsool avada klahviga F12. Seejärel navigeerige vahekaardile "Network". Nüüd saab lehekülje avada, veebileht (näiteks index.php) peaks olema nähtav võrgu vahekaardil. See tuleb valida ja seejärel tuleb valida Herder sektsioon. Seejärel näeb kasutaja järgmist tulemust:

Staatuse kood 502 Bad Gateway
Ülevaade
URL: https://http-statuscode.com/errorCodeExample.php?code=502
Staatus: 502 Bad Gateway
Need: Network
IP-aadress: XX.XX.XX.XX
Staatuse kood 502 Bad Gateway

Kuidas lahendada probleem 502 staatuskoodiga?

HTP staatuskoodi 502 Bad Gateway saadab tavaliselt proxy-server, mis tegutseb vahendajana kliendi (nt veebilehitseja) ja serveri vahel, millega klient soovib suhelda. Viga tekib siis, kui proxy-server saab eelnevast serverist kehtetu vastuse. Selle vea võimalikke põhjusi on mitu ja ma käsitlen allpool mõningaid kõige tõenäolisemaid probleeme ning selgitan, kuidas neid parandada.

  • Ülekoormatud või kättesaamatu ülesvoolu server: HTTP-staatuskoodi 502 Bad Gateway tavaline põhjus on see, et ülesvoolu server, millega proxy-server ühendub, on ülekoormatud või kättesaamatu. Sellisel juhul peaksite veenduma, et ülesvoolu server töötab korralikult ja et tal on piisavalt ressursse päringute töötlemiseks. Kontrollige serveri logisid ja võrguühendusi, et näha, kas on mingeid probleeme. Kui ülesvoolu server on ülekoormatud, võite probleemi lahendamiseks jaotada koormust mitme serveri vahel või lisada täiendavaid ressursse.
  • Võrguprobleemid: Teine võimalik probleem on võrguprobleemid proxy-serveri ja ülesvoolu serveri vahel. See võib olla ebastabiilne ühendus, DNS-probleem või tulemüüri seadistus, mis takistab suhtlust. Kontrollige võrguseadistusi, et kõik vajalikud pordid oleksid avatud ja ühendus oleks stabiilne. Samuti testige DNS-lahendus, et tagada, et ülesvoolu server on õigesti lahendatud. Mõnel juhul võib olla kasulik ka proxy-serveri taaskäivitamine, et lahendada võrguprobleemid.
  • Väljakonfigureeritud proxy-server: Vale proksiserveri konfiguratsioon võib samuti põhjustada HTTP staatuskoodi 502 Bad Gateway. Veenduge, et proxy seaded on õiged ja et proxy server edastab päringud korrektselt ülesvoolu serverile. Kontrollige, kas proxy konfiguratsioonifailid ja seaded on õiged. Mõnel juhul võib teadaolevate probleemide lahendamiseks olla kasulik ka proxy-serveri uuendamine või üleminek teisele versioonile.
  • Errorous application on the upstream server: Samuti on võimalik, et eelkasutatavas serveris on vigane rakendus või konfiguratsioon, mille tulemuseks on HTTP olekukood 502 Bad Gateway. Kontrollige rakenduse ja serveri logisid, et otsida võimalikke vigu või erandeid. Uuendage või parandage rakendus, et lahendada teadaolevad probleemid. Samuti võib olla kasulik teha koostööd arendaja või süsteemiadministraatoriga, et probleemi analüüsida ja lahendada.
  • Probleemid proxy-serveri endaga: Lõpuks võib HTTP-kood 502 Bad Gateway olla põhjustatud ka probleemidest proxy-serveri endaga. See võib olla tingitud tarkvaravigadest, puuduvatest uuendustest või riistvaraprobleemidest. Kontrollige proxy-serveri logisid veateadete või hoiatuste kohta. Uuendage proxy-server uusima versiooniga ja kontrollige teadaolevate probleemide olemasolu. Mõnel juhul võib probleemi lahendamiseks olla vaja proksiserver uuesti paigaldada või minna üle alternatiivsele tarkvaralahendusele.
    • On oluline märkida, et HTTP staatuskoodi 502 Bad Gateway lahendamine sõltub suuresti teie konkreetsest keskkonnast ja konfiguratsioonist. Probleemi diagnoosimiseks ja lahendamiseks võib olla kasulik teha koostööd kogenud arendaja või süsteemiadministraatoriga.

      .

Kuidas luua oma vealehekülg staatuskoodi 502 jaoks

Oma 502 Bad Gateway vealehe loomine on nii "Apache" kui ka "NGINX" veebiserverite puhul suhteliselt lihtne.

Apache Webserver

Veebiserver "Apache" on üks levinumaid veebiservereid Internetis. Oma 502 Bad Gateway vealehe loomiseks "Apache'is" tuleb teha järgmine muudatus järgmises failis.

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

NGINX Webserver

Sarnaselt veebiserverile "Apache" on ka "NGINX" internetis laialdaselt kasutusel. Oma 502 Bad Gateway vealehe loomiseks "NGINXis" tuleb teha järgmine muudatus järgmises failis.

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

502 staatuskoodi brauserite ühilduvus

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

Konstandid programmeerimiskeeltes

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

Staatusekoodi 502 alamkoodid

Alamstaatusekoodid on puhtalt tehnilised ja neid ei tohiks kunagi kasutajale saata. Näiteks, kui kuvatakse staatuskood 502.1, võib seda logida, kuid kasutajale saadetakse staatuskood 502.:
502.1 CGI application timeout
HTTP IIS, Mitteametlik
502.2 Bad gateway: Premature Exit
HTTP IIS, Mitteametlik
502.3 Bad Gateway: Forwarder Connection Error (ARR)
HTP IIS, Mitteametlik
502.4 Bad Gateway: No Server (ARR)
HTP IIS, Mitteametlik
502.5 WebSocket failure (ARR)
HTTP IIS, Mitteametlik
502.6 Forwarded request failure (ARR)
HTTP IIS, Mitteametlik
502.7 Execute request failure (ARR)
HTTP IIS, Mitteametlik
Autor: Tony Brüser
Autor: Tony Brüser

Tony Brüser on entusiastlik veebiarendaja, kellel on kalduvus HTTP staatuskoodide suhtes.

LinkedInGitHub