Skip to content

Kaikki WordPressistä, web-kehityksestä — ja paljon muuta

🔧 Kuinka korjata 502 bad gateway -virhe WordPressissä

🔧 Kuinka korjata 502 bad gateway -virhe WordPressissä

Avaat sivustosi ja näet valkoisen ruudun, jossa lukee kolme sanaa: "502 Bad Gateway". Liikennettä tulee, mutta kävijät näkevät sisällön sijaan virheen. Myynti pysähtyy, hakukonesijoitukset laskevat ja hukkaat aikaa arvailuun.

502-virhe näyttää pelottavalta, mutta pohjimmiltaan kyse on vain palvelinten välisestä kommunikaatiokatkoksesta. Sivustosi ei ole rikki, data ei ole kadonnut, ja useimmissa tapauksissa korjaus vie viidestä viiteentoista minuuttia. Alla on vaiheittainen opas, joka johdattaa sinut yksinkertaisimmista tarkistuksista syvällisempään diagnostiikkaan.

💡 Pikaopas:

  • Päivitä sivu ja tarkista, onko palvelin alhaalla
  • Tyhjennä selaimen välimuisti ja poista CDN väliaikaisesti käytöstä
  • Jos virhe jatkuu, poista lisäosat käytöstä FTP:n kautta ja tarkista teema
  • Nollaa .htaccess ja ota yhteyttä palveluntarjoajaasi, kun mikään muu ei auta

Mikä on 502 Bad Gateway -virhe

Kun avaat sivuston, selain lähettää HTTP-pyynnön. Palvelinpuolella käänteinen välityspalvelin (Nginx, Apache) vastaanottaa sen ja jakaa pyynnöt sovelluspalvelimen (PHP), tietokannan, staattisen verkkopalvelimen ja CDN:n kesken. Jokainen solmu hoitaa oman osuutensa ja palauttaa tuloksen välityspalvelimelle. Välityspalvelin kokoaa vastauksen ja toimittaa sen selaimeen, ja sivu latautuu.

502-virhe ilmenee, kun jokin ketjun palvelimista palauttaa välityspalvelimelle virheellisen vastauksen. Välityspalvelin ei pysty kokoamaan sivua ja näyttää "Bad Gateway" -ilmoituksen. Selain kertoo rehellisesti, että palvelinten välinen yhdyskäytävä vastaanotti jotain odottamatonta.

Ulkoisesti virhe voi näkyä eri muodoissa: "502 Bad Gateway", "502 Service Temporarily Overloaded", "HTTP 502", "Nginx 502 Bad Gateway", "Proxy Error". Olennaista on sama asia: jossain ketjun kohdassa on katkos.

Miksi 502-virhe ilmenee

Syyt ovat lähes aina palvelinpuolella, mutta joskus omat toimesi sivustolla laukaisevat sen:

  • Palvelimen ylikuormitus. Äkillinen liikennepiikki kuluttaa hosting-resurssit loppuun, eivätkä PHP-prosessit pysy pyyntöjonon tahdissa.
  • Viallinen lisäosa tai teema. Koodi, joka aiheuttaa vakavan PHP-virheen, katkaisee sovelluspalvelimen vastauksen, eikä välityspalvelin saa mitään.
  • CDN-ongelmat. Cloudflare, KeyCDN tai muu sisällönjakelupalvelu ei saa yhteyttä lähdepalvelimeen ja palauttaa 502-virheen.
  • Virheelliset DNS-tietueet. Palveluntarjoajan vaihdon tai nimipalvelinten päivityksen jälkeen tietueet eivät ole vielä ehtineet levitä, joten sivusto on tilapäisesti tavoittamattomissa.
  • Vioittunut.htaccess. Rikkinäinen syntaksi tai ristiriitaiset uudelleenkirjoitussäännöt rikkovat pyyntöjen käsittelyn.
  • PHP:n muistiraja ylittynyt. Raskas lisäosa tai skripti kuluttaa kaiken käytettävissä olevan muistin, ja prosessi kaatuu.

Käydään nyt jokainen korjausvaihe läpi askel askeleelta, nopeimmasta monimutkaisempaan.

Vaihe 1. Päivitä sivu

Ensimmäinen ja yksinkertaisin: paina F5 tai Ctrl+R. Jos virheen aiheutti lyhyt palvelimen häiriö, toistettu pyyntö onnistuu. Kokeile avata sivusto toisella selaimella tai mobiilidatalla; tämä sulkee pois oman pääsi ongelman.

Tarkista, toimiiko sivusto muulle maailmalle käyttämällä isup.me- tai Down For Everyone Or Just Me -palvelua. Jos palvelu näyttää, että sivusto on alhaalla vain sinulle, ongelma on paikallinen, joten siirry eteenpäin. Jos sivusto on tavoittamattomissa kaikille, palvelin on todennäköisesti kaatunut tai palveluntarjoaja on asettanut eston.

Vaihe 2. Tyhjennä selaimen välimuisti

Selain tallentaa välimuistiin kuvien ja tyylien lisäksi myös virheellisiä palvelinvastauksia. Pakotettu päivitys (Ctrl+F5 Windowsissa, Cmd+Shift+R macOS:ssä) pakottaa selaimen pyytämään sivun uudelleen paikallisen välimuistin ohittaen.

Jos pakotettu päivitys ei auttanut, tyhjennä välimuisti kokonaan. Chromessa: Asetukset → Tietosuoja ja turvallisuus → Tyhjennä selausdata → "Välimuistissa olevat kuvat ja tiedostot". Käsittelimme yksityiskohtaiset ohjeet eri selaimille ja välimuistin tyhjentämisen WordPressin puolella erillisessä oppaassa.

Vaihe 3. Poista CDN väliaikaisesti käytöstä

Sisällönjakeluverkot, kuten Cloudflare tai KeyCDN, reitittävät liikenteen omien palvelintensa kautta. Jos CDN:n puolella tapahtuu vika tai palomuurisääntö on määritetty väärin, kävijät näkevät 502-virheen, vaikka lähdepalvelin toimisi täysin.

Testaa tätä hypoteesia keskeyttämällä CDN sen hallintapaneelissa. Cloudflare: siirry kohtaan Overview → Pause Cloudflare. KeyCDN ja vastaavat palvelut: etsi paneelista Disable- tai Pause-painike. Päivitä sivustosi käytöstä poistamisen jälkeen. Jos virhe katoaa, ongelma on CDN:n puolella; ota yhteyttä heidän tukeensa.

Kun CDN on pois käytöstä, sivusto toimii suoraan hosting-palvelultasi, joten nopeus saattaa hieman laskea, mutta saatavuus palautuu. Vertailimme suosittuja CDN-palveluita ja niiden käyttöönottoa artikkelissa ilmaisista CDN-palveluista WordPressille.

Vaihe 4. Tarkista DNS-asetukset

Palveluntarjoajan vaihdon tai NS-tietueiden päivityksen jälkeen DNS-tiedot leviävät verkossa useista tunneista jopa 48 tuntiin. Tänä aikana osa kävijöistä saattaa päätyä vanhalle palvelimelle, joka ei vastaa tai vastaa väärin.

Jos muutit sivustosi äskettäin, odota 24 tuntia; se yleensä riittää. Tyhjennä lisäksi paikallinen DNS-välimuisti: Windowsissa avaa komentokehote ja suorita ipconfig /flushdns; macOS:ssä suorita sudo dscacheutil -flushcache ja sudo killall -HUP mDNSResponder. Päivitä sitten sivu.

Vaihe 5. Poista lisäosat käytöstä FTP:n kautta

Yleisin 502-virheen syy WordPressissä on lisäosien ristiriita. Yksi ongelmallinen lisäosa voi aiheuttaa vakavan PHP-virheen, joka kaataa koko sivuston. Koska WordPressin hallintapaneeli ei ole käytettävissä 502-virheen aikana, sinun on poistettava lisäosat käytöstä tiedostojärjestelmän kautta.

Yhdistä palvelimelle FTP:llä (käyttäen FileZillaa, WinSCP:tä) tai avaa tiedostonhallinta cPanelissa. Siirry sivuston juurikansioon (yleensä public_html):

cPanelin tiedostonhallinta ja WordPressin juurikansio

Mene kansioon wp-content ja etsi plugins-kansio. Nimeä se uudelleen, esimerkiksi plugins.old. Tämä poistaa kaikki lisäosat välittömästi käytöstä kerralla. Lisäosien dataa ei poisteta kansion uudelleennimeämisen yhteydessä; asetukset säilyvät tietokannassa:

Liitännäiskansion uudelleennimeäminen joukkokäytöstäpoistoa varten

Päivitä sivusto. Jos se toimii, ongelma on jossakin lisäosassa. Nimeä kansio takaisin plugins-nimiseksi, mene hallintapaneeliin ja ota lisäosat käyttöön yksi kerrallaan tarkistaen sivusto jokaisen aktivoinnin jälkeen. Kun löydät syyllisen, poista se FTP:n kautta tai korvaa se vaihtoehdolla.

Vaihe 6. Tarkista aktiivinen teema

Jos lisäosien poistaminen käytöstä ei auttanut, seuraava epäilty on teema. Virheellinen koodi functions.php-tiedostossa tai ristiriita PHP-version kanssa voi samalla tavoin aiheuttaa vakavan virheen ja 502:n.

Palaa sivuston juurikansioon → wp-contentthemes. Etsi aktiivisen teeman kansio ja nimeä se uudelleen (esimerkiksi lisää .old loppuun):

Aktiivisen teemakansion uudelleennimeäminen oletusteemaan palauttamiseksi

WordPress vaihtaa automaattisesti oletusteemaan (Twenty Twenty-Four, Twenty Twenty-Five tai vastaava). Päivitä sivusto; jos virhe on poissa, ongelma on teemassa. Ota yhteyttä teeman kehittäjään tai palauta varmuuskopio. Diagnoosin jälkeen nimeä kansio takaisin alkuperäisellä nimellä.

Yksityiskohtainen algoritmi teemojen tarkistamiseen ja ristiriitaisen koodin paikantamiseen on kuvattu WordPress-teemojen ongelmien vianmääritysoppaassa.

Vaihe 7. Nollaa.htaccess-tiedosto

Vioittunut .htaccess on yleinen mutta vähemmän ilmeinen 502-virheen syy. Välimuistilisäosan tai tietoturvalisäosan lisäämät uudelleenkirjoitussäännöt voivat olla ristiriidassa keskenään. Yksi syntaksivirhe tässä tiedostossa, ja palvelin palauttaa 502:n kaikkiin pyyntöihin.

Yhdistä FTP:llä ja etsi .htaccess-tiedosto sivuston juurikansiosta. Lataa varmuuskopio tietokoneellesi ja poista sitten tiedosto palvelimelta. Mene WordPressin hallintapaneeliin, siirry kohtaan Asetukset → Osoiterakenne ja napsauta "Tallenna muutokset" (muuttamatta mitään). WordPress luo uuden .htaccess-tiedoston puhtailla säännöillä.

Jos virhe ilmeni heti välimuistilisäosan (WP Rocket, W3 Total Cache, LiteSpeed Cache) asennuksen jälkeen, tarkista .htaccess-tiedostosta kyseisen lisäosan sääntöosio; se on yleensä kääritty kommentteihin kuten # BEGIN W3TC / # END W3TC. Poista tuo lohko, tallenna tiedosto ja päivitä sivusto.

Vaihe 8. Ota yhteyttä palveluntarjoajaasi

Jos mikään edellisistä vaiheista ei auttanut, ongelma on todennäköisesti palvelinpuolella. Ota yhteyttä palveluntarjoajasi tekniseen tukeen ja ilmoita verkkotunnus, virheen ilmenemisaika ja mitä toimenpiteitä olet jo tehnyt. Mitä enemmän yksityiskohtia annat, sitä nopeammin insinöörit löytävät syyn.

Pyydä heitä tarkistamaan PHP:n ja verkkopalvelimen virhelokit ajalta, jolloin 502 ilmestyi. Lokit osoittavat lähes aina tarkalleen, mikä skripti tai moduuli vian aiheuttaa. Edullisilla jaetuilla hosting-paketeilla syynä voi yksinkertaisesti olla resurssien puute: yksi sivusto palvelimella kuluttaa kaiken muistin, ja loput saavat 502-virheen. Siinä tapauksessa on järkevää harkita siirtymistä VPS:ään tai pilvihostingiin, jossa resurssit on taattu.

Video-opas

Katso visuaalinen läpikäynti 502-virheen diagnosoinnista ja korjaamisesta ensimmäisestä vaiheesta viimeiseen tällä videolla:

⁉️🤔 Usein kysytyt kysymykset

Voiko 502-virhe korjaantua itsestään?

Kyllä, jos syynä on palvelimen lyhytaikainen ylikuormitus. Palveluntarjoajat valvovat kuormaa ja käynnistävät ongelmalliset prosessit automaattisesti uudelleen yhdestä viiteen minuutissa. Päivitä sivu parin minuutin kuluttua; puolessa tapauksista virhe katoaa ilman omia toimiasi.

Miten erotan 502-virheen muista palvelinvirheistä?

502 Bad Gateway on virhe välityspalvelimen tasolla (Nginx/Apache), ei itse sovelluksessa. 500 Internal Server Error viittaa ongelmaan suoraan PHP-koodissa tai konfiguraatiossa. 503 Service Unavailable tarkoittaa, että palvelin ei tilapäisesti ota vastaan pyyntöjä, yleensä suunnitellun huollon aikana. 504 Gateway Timeout tarkoittaa, että palvelin ei saanut vastausta ylävirran palvelimelta sallitussa ajassa. Käyttäjälle ero tiivistyy diagnostiikkaan: 500 korjataan useimmiten muokkaamalla koodia, kun taas 502 korjataan palauttamalla palvelinten välinen yhteys.

Pitääkö sivusto palauttaa varmuuskopiosta 502-virheen takia?

Varmuuskopio on viimeinen keino, ei ensimmäinen askel. Ennen varmuuskopion palauttamista noudata tämän oppaan vaiheita 5, 6 ja 7: poista lisäosat käytöstä, tarkista teema, nollaa .htaccess. Valtaosassa tapauksista 502 ratkeaa ilman varmuuskopion palauttamista. Palauta varmuuskopio vain, jos virhe ilmestyi heti WordPressin, lisäosien tai teeman päivityksen jälkeen, eikä muutosten peruminen FTP:n kautta ole mahdollista.

Voinko estää 502-virheitä tulevaisuudessa?

Osittain kyllä. Käytä laadukasta hostingia, jossa on riittävästi PHP-muistia (suositeltu minimi on 256 Mt). Aseta sivustollesi käytettävyysvalvonta UptimeRobotin tai vastaavan palvelun kautta; saat tiedon ongelmasta ennen kuin kävijät raportoivat siitä. Ennen lisäosien asennusta tai päivitystä tee nopea varmuuskopio. Ja pidä FTP-yhteys käsillä: kun hallintapaneeli on alhaalla, se on ainoa tapa poistaa ongelmallinen koodi nopeasti käytöstä.

Mitä tehdä, jos mikään ei auttanut?

Yllä olevat kahdeksan vaihetta kattavat lähes kaikki 502 Bad Gateway -skenaariot WordPressissä. Jos olet tarkistanut lisäosat, teeman, DNS:n ja CDN:n, nollannut .htaccess-tiedoston ja virhe jatkuu, ongelma on syvemmällä, etkä pärjää ilman hosting-insinöörejä.

Oikea järjestys säästää tunteja: sulje ensin pois paikalliset syyt (välimuisti, selain, CDN), sitten palvelinpuolen syyt (lisäosat, teema, .htaccess) ja eskaloita vasta sitten palveluntarjoajalle. Tallenna tämä opas kirjanmerkkeihisi; 502:lla on tapana palata pahimmalla mahdollisella hetkellä, ja nopea pääsy tarkistuslistaan säästää sinut suurelta stressiltä.