502

Bad Gateway

Virallinen Alatilakoodit
tuotantoketjun loppupään palvelin palautti virheilmoituksen

HTTP-tilakoodin 502 määrittely

Tilakoodi 502 Bad Gateway osoittaa, että palvelin, joka toimi yhdyskäytävänä tai välittäjänä, sai virheellisen vastauksen saapuvalta palvelimelta, jota se käytti yrittäessään täyttää pyyntöä.

Lähde / Lainaus: HTTP-tilakoodi 502 Bad Gateway on määritelty 6.6.3:n RFC7231 kohdassa RFC7231.

Kuinka heittää 502-tilakoodi PHP:llä?

HTTP-tilakoodin 502 heittämiseen verkkosivulle voidaan käyttää PHP-funktiota http_response_code. Syntaksi on seuraava: http_response_code(502) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Testaa HTTP-tilakoodi 502

Jotta HTTP-tilakoodi (tässä tapauksessa 502 Bad Gateway) ja muut tiedot voidaan näyttää asiakaspuolella, kehityskonsoli on avattava F12-näppäimellä. Siirry sitten "Network"-välilehdelle. Nyt sivu voidaan avata, verkkosivuston (esimerkki index.php) pitäisi näkyä verkko-välilehdellä. Tämä on valittava ja sen jälkeen on valittava Herder-osio. Käyttäjä näkee sitten seuraavan tuloksen:

Tilakoodi 502 Bad Gateway
Yleiskatsaus
URL: https://http-statuscode.com/errorCodeExample.php?code=502
Tila: 502 Bad Gateway
Nuo: Network
IP-osoite: XX.XX.XX.XX
Tilakoodi 502 Bad Gateway

Miten ratkaisen 502-tilakoodiin liittyvän ongelman?

HTPTTP-tilakoodin 502 Bad Gateway palauttaa yleensä välityspalvelin, joka toimii välittäjänä asiakkaan (esim. verkkoselaimen) ja sen palvelimen välillä, jonka kanssa asiakas haluaa kommunikoida. Virhe syntyy, kun välityspalvelin saa virheellisen vastauksen edeltävältä palvelimelta. Virheeseen on useita mahdollisia syitä, ja käsittelen alla joitakin todennäköisimpiä ongelmia ja selitän, miten voit korjata ne.

  • Ylikuormittunut tai tavoittamaton ylävirran palvelin: Yleinen syy HTTP-tilakoodiin 502 Bad Gateway on se, että ylävirran palvelin, johon välityspalvelin muodostaa yhteyden, on ylikuormittunut tai tavoittamaton. Tässä tapauksessa sinun on varmistettava, että upstream-palvelin toimii oikein ja että sillä on riittävästi resursseja pyyntöjen käsittelyyn. Tarkista palvelimen lokitiedot ja verkkoyhteydet, onko ongelmia. Jos ylävirran palvelin on ylikuormitettu, voit ehkä jakaa kuormaa useammalle palvelimelle tai lisätä lisäresursseja ongelman korjaamiseksi.
  • Verkko-ongelmat: Toinen mahdollinen ongelma on välityspalvelimen ja ylävirran palvelimen väliset verkko-ongelmat. Kyseessä voi olla epävakaa yhteys, DNS-ongelma tai palomuuriasetus, joka estää yhteydenpidon. Tarkista verkkoasetukset varmistaaksesi, että kaikki tarvittavat portit ovat auki ja että yhteys on vakaa. Testaa myös DNS-resoluutio varmistaaksesi, että ylävirran palvelimen resoluutio on oikea. Joissakin tapauksissa voi myös olla hyödyllistä käynnistää välityspalvelin uudelleen verkko-ongelmien ratkaisemiseksi.
  • Väärin määritetty välityspalvelin: Välityspalvelimen virheellinen konfigurointi voi myös johtaa HTTP-tilakoodiin 502 Bad Gateway. Varmista, että välityspalvelimen asetukset ovat oikein ja että välityspalvelin välittää pyynnöt oikein eteenpäin ylävirran palvelimelle. Tarkista, että välityspalvelimen määritystiedostot ja -asetukset ovat oikein. Joissakin tapauksissa voi myös olla hyödyllistä päivittää välityspalvelin tai vaihtaa toiseen versioon tunnettujen ongelmien korjaamiseksi.
  • Errorous application on the upstream server: On myös mahdollista, että edeltävällä palvelimella on virheellinen sovellus tai kokoonpano, jonka seurauksena HTTP-tilakoodi 502 Bad Gateway. Tarkista sovellus- ja palvelinlokit mahdollisten virheiden tai poikkeusten varalta. Päivitä tai korjaa sovellus tunnettujen ongelmien korjaamiseksi. Voi myös olla hyödyllistä tehdä yhteistyötä kehittäjän tai järjestelmänvalvojan kanssa ongelman analysoimiseksi ja ratkaisemiseksi.
  • Ongelmat itse välityspalvelimessa: HTTP-tilakoodi 502 Bad Gateway voi johtua myös itse välityspalvelimen ongelmista. Tämä voi johtua ohjelmistovirheistä, puuttuvista päivityksistä tai laitteisto-ongelmista. Tarkista välityspalvelimen lokit virheilmoitusten tai varoitusten varalta. Päivitä välityspalvelin uusimpaan versioon ja tarkista tunnetut ongelmat. Joissakin tapauksissa voi olla tarpeen asentaa välityspalvelin uudelleen tai vaihtaa vaihtoehtoiseen ohjelmistoratkaisuun ongelman korjaamiseksi.
    • On tärkeää huomata, että HTTP-tilakoodi 502 Bad Gateway:n ratkaiseminen riippuu suuresti omasta ympäristöstäsi ja kokoonpanostasi. Voi olla hyödyllistä tehdä yhteistyötä kokeneen kehittäjän tai järjestelmänvalvojan kanssa ongelman diagnosoimiseksi ja korjaamiseksi.

      .

Miten luoda oma virhesivu tilakoodille 502?

Oman 502 Bad Gateway-virhesivun luominen on suhteellisen helppoa sekä Apache- että NGINX-verkkopalvelimilla.

Apache Webserver

Verkkopalvelin "Apache" on yksi Internetin yleisimmistä verkkopalvelimista. Jotta voit luoda oman 502 Bad Gateway-virhesivun "Apachessa", seuraavaan tiedostoon on tehtävä seuraava muutos.

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

NGINX Webserver

Samanlainen kuin verkkopalvelin "Apache", "NGINX" on myös laajalti käytössä Internetissä. Jotta voit luoda oman 502 Bad Gateway-virhesivun "NGINX"-palvelimessa, seuraavaan tiedostoon on tehtävä seuraava muutos.

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

Selainyhteensopivuus 502-tilakoodin kanssa

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

Vakiot ohjelmointikielissä

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

Tilakoodin 502 alatilakoodit

Alatilakoodit ovat puhtaasti teknisiä, eikä niitä pitäisi koskaan lähettää käyttäjälle. Jos esimerkiksi heitetään tilakoodi 502.1, se voidaan kirjata, mutta käyttäjälle lähetetään tilakoodi 502.:
502.1 CGI application timeout
HTTP IIS, Epävirallinen
502.2 Bad gateway: Premature Exit
HTTP IIS, Epävirallinen
502.3 Bad Gateway: Forwarder Connection Error (ARR)
HTP IIS, Epävirallinen
502.4 Bad Gateway: No Server (ARR)
HTP IIS, Epävirallinen
502.5 WebSocket failure (ARR)
HTTP IIS, Epävirallinen
502.6 Forwarded request failure (ARR)
HTTP IIS, Epävirallinen
502.7 Execute request failure (ARR)
HTTP IIS, Epävirallinen

Viihdyttäviä meemejä HTTP-tilakoodista 502

Kirjoittaja: Tony Brüser
Kirjoittaja: Tony Brüser

Tony Brüser on innostunut web-kehittäjä, jolla on mieltymys HTTP-statuskoodeihin.

LinkedInGitHub