Virheitä sattuu – on jokin odottamaton huolto, vika, joka jäi huomaamatta, tai sivu leviää ja yhteyksien tulva vie palvelimen alas.

Jos olet ollut netissä jonkin aikaa, olet epäilemättä nähnyt jokseenkin epämääräisen virheilmoituksen 503 Service Unavailable.

Tässä artikkelissa käymme läpi HTTP-tilakoodit, mitä 503-virhe tarkoittaa ja joitain mahdollisia tapoja ratkaista se – sekä sivustolle, jolla yrität vierailla, että omalle sivustollesi.

Yleiskatsaus HTTP-tilakoodeihin

Verkkosivuja isännöivät palvelimet kuuntelevat pyyntöjä verkkoselaimilta tai -laitteilta, joita kutsutaan myös nimellä client. Palvelin käyttää sitten joukko erilaisia tilakoodeja viestittääkseen takaisin.

Nämä tilakoodit on järjestetty eri luokkiin, jotka ilmoitetaan tilakoodin ensimmäisellä numerolla:

  • 1xx: Tietoa – palvelin käsittelee vielä pyyntöä
  • 2xx: Onnistunut – pyyntö onnistui ja palvelin vastaa sivun tai resurssin
  • 3xx: Uudelleenohjaus – sivu tai resurssi on siirtynyt ja palvelin vastaa sen uudella sijainnilla
  • 4xx: Asiakasvirhe – selaimen tai laitteen esittämässä pyynnössä on virhe
  • 5xx: Palvelinvirhe – palvelimessa on virhe

Kunkin HTTP-tilakoodin kaksi viimeistä numeroa edustavat kunkin luokan tarkempaa tilaa. Esimerkiksi 301 tarkoittaa, että sivu tai resurssi on siirtynyt pysyvästi, kun taas 302 tarkoittaa, että siirto on väliaikainen.

Tältä sivulta löydät luettelon yleisimmistä HTTP-tilakoodeista ja niiden merkityksestä: https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

Useimmat tilakoodit jäävät täysin huomaamatta, mikä on hyvä, koska se tarkoittaa, että kaikki toimii. Vasta kun pääset 4xx-5xx-alueelle, saatat huomata tilakoodin, koska näet tällaisen sivun:

Tyypillinen 503-virhesivu – Lähde: Stack Overflow

Nyt kun sinulla on perusymmärrys HTTP-tilakoodeista, perehdytään hieman syvällisemmin 503 Service Unavailable -virheeseen.

Mitä 503-virhekoodi tarkoittaa?

Kuten edellä mainittiin, 5xx-tilakoodit merkitsevät, että palvelimessa itsessään on ongelma.

503 Service Unavailable -virhe tarkoittaa, että sivu tai resurssi ei ole käytettävissä. On monia syitä, miksi palvelin voi palauttaa 503-virheen, mutta joitakin yleisiä syitä ovat ylläpito, vika palvelimen koodissa tai äkillinen liikennepiikki, joka aiheuttaa palvelimen ylikuormituksen.

Viesti, joka lähetetään 503-virheen yhteydessä, voi vaihdella riippuen palvelimesta, jolta se tulee, mutta tässä on joitain yleisimpiä, joita näet:

– 503 Service Unavailable
– 503 Service Temporarily Unavailable
– HTTP Server Error 503
– HTTP Error 503
– Virhe 503 Service Unavailable
– Palvelin ei pysty tilapäisesti palvelemaan pyyntöäsi huoltoseisokin tai kapasiteettiongelmien vuoksi. Yritä myöhemmin uudelleen.
Lähde

Olikpa 503-virheen syy mikä tahansa, se on yleensä väliaikainen – palvelin käynnistyy uudelleen, liikenne vähenee ja ongelma ratkeaa itsestään.

How to solve the 503 Status Unavailable error

Kun yrität ratkaista 503-virheen, on olemassa kaksi yleistä leiriä.

Ensimmäinen on tilanne, jossa olet loppukäyttäjä ja yrität vierailla sivustolla, jota et omista. Toisessa leirissä omistat sivuston, ja se heittää 503-virheitä ihmisille, jotka yrittävät käydä sivustolla.

Menetelmä 503-virheiden ratkaisemiseksi on erilainen riippuen siitä, kumpaan ryhmään kuulut. Katsotaanpa joitakin asioita, joita voit tehdä loppukäyttäjänä, jos näet 503-virheen.

Miten ratkaista 503 Status Unavailable -virhe loppukäyttäjänä

Koska 5xx-tilakoodit tarkoittavat, että virhe on palvelimen puolella, et voi tehdä paljonkaan suoraan.

Vaikka 503-virheet ovat yleensä tilapäisiä, on joitakin asioita, joita voit tehdä odottaessasi.

#1: Päivitä sivu

Joskus virhe on niin tilapäinen, että pelkkä päivitys riittää. Kun sivu on auki, paina vain Ctrl – R Windowsissa ja Linuxissa tai Cmd – R macOS:ssä päivittääksesi sivun.

#2: Katso, onko sivu alhaalla muilla ihmisillä

Seuraavaksi voit käyttää palvelua, kuten Is It Down Right Now? tai Down For Everyone Or Just Me nähdäksesi, saavatko muut ihmiset saman virheen.

Mene vain jommallekummalle näistä sivustoista ja syötä sen sivun URL-osoite, jota yrität vierailla.

Palvelu pingaa syöttämääsi URL-osoitetta nähdäkseen, saako se vastauksen. Sitten se näyttää sinulle hienoja tilastoja ja kaavioita sivusta:

Checking freeCodeCamp on Is It Down Right Now?

Jos selaat hiukan alaspäin, näet muiden ihmisten kommentteja. Usein ihmiset ilmoittavat yleisen sijaintinsa ja muita tietoja, joten tämä voi olla hyvä tapa selvittää, vaikuttaako virhe vain tiettyihin alueisiin tai tiettyihin laitteisiin.

#3: Käynnistä reititin uudelleen

Joskus ongelma liittyy DNS-palvelimen vikaantumiseen.

DNS on lyhenne sanoista Domain Name System (toimialueen nimijärjestelmä), ja ne toimivat pohjimmiltaan kääntäjinä IP-osoitteiden ja ihmiselle luettavissa olevien URL-osoitteiden välillä.

Voit esimerkiksi vierailla Googlella syöttämällä sen pitkän IP-osoitteen suoraan (172.217.25.206), tai voit vain syöttää URL-osoitteen, www.google.com.

Se on DNS, jota usein isännöidään palvelimella ja joka hoitaa kaiken tämän kulissien takana.

Kaikki tämä tarkoittaa sitä, että monet reitittimet välimuistiin tallennetaan vastauksia DNS-palvelimilta (www.google.com <==> 172.217.25.206). Mutta joskus tämä välimuisti voi vioittua ja aiheuttaa virheitä.

Helppo tapa nollata tai ”tyhjentää” välimuisti on käynnistää reititin uudelleen. Irrota reitittimestäsi virta noin 5 sekunnin ajaksi ja kytke se sitten uudelleen.

Reitittimen pitäisi käynnistyä uudelleen minuutin kuluttua ja kaikkien laitteidesi pitäisi yhdistyä uudelleen automaattisesti. Kun näin on tapahtunut, yritä vierailla sivustolla uudelleen.

How to solve a 503 Status Unavailable error as the site’s owner

Jos olet 503-virheitä palauttavan sivuston omistaja/kehittäjä, voit tehdä hiukan enemmän diagnosoidaksesi ja ratkaistaksesi ongelman.

Tässä on muutamia yleisiä vinkkejä, joiden avulla pääset alkuun:

#1: Käynnistä palvelin uudelleen

Kehittäminen on vaikeaa – yksinkertaisessakin staattisessa sivussa voi olla niin paljon liikkuvia osia, että voi olla vaikea määrittää, mikä aiheuttaa 503-virheen.

Joskus parasta on käynnistää palvelin uudelleen ja katsoa, korjaako se ongelman.

Lähde: imgflip

Palvelimen täsmällinen uudelleenkäynnistystapa voi vaihdella, mutta tavallisesti pääset siihen käsiksi palveluntarjoajasi ohjauspaneelista tai menemällä SSH:lla palvelimelle ja suorittamalla uudelleenkäynnistyskomennon.

Palvelimen pitäisi käynnistyä uudestaan parin minuutin kuluttua. Jos olet määrittänyt kaiken toimimaan automaattisesti käynnistyksen yhteydessä, voit käydä sivustollasi katsomassa, toimiiko se.

#2: Tarkista palvelimen lokit

Seuraavaksi kannattaa tarkistaa lokit.

Palvelimen lokien sijainti voi vaihdella sen mukaan, mitä palvelua käytät, mutta ne löytyvät usein hakemistosta /var/log/....

Katsele tuota hakemistoa ja katso, löydätkö sieltä mitään. Jos ei löydy, tarkista ohjelmiesi käyttöohjeet ajamalla man program_name.

#3: Tarkista, onko käynnissä automaattista ylläpitoa

Jotkut palveluntarjoajat tarjoavat automaattisia pakettipäivityksiä ja ylläpitoa. Normaalisti tämä on hyvä asia – ne tapahtuvat yleensä seisokkiaikana ja auttavat varmistamaan, että kaikki on ajan tasalla.

Joskus 503-virheet johtuvat näistä suunnitelluista ylläpitojaksoista.

Jotkut WordPress-isännöintiin erikoistuneet hosting-palveluntarjoajat esimerkiksi päivittävät WP:n automaattisesti aina, kun tulee uusi julkaisu. WordPress palauttaa automaattisesti 503 Service Unavailable -virheen aina, kun sitä päivitetään.

Tarkista palveluntarjoajaltasi, johtuuko 503-virhe ajoitetusta ylläpidosta.

#4: Tarkista palvelimesi palomuuriasetukset

Joskus 503 Service Unavailable -virheet johtuvat väärin konfiguroidusta palomuurista, jossa yhteydet pääsevät läpi, mutta eivät onnistu palaamaan takaisin asiakkaalle.

Palomuurisi saattaa myös tarvita erityisiä asetuksia CDN:ää varten, jolloin useat yhteydet pienestä kourallisesta IP-osoitteita saatetaan tulkita väärin DDoS-hyökkäykseksi.

Palomuurin asetusten tarkka säätämistapa riippuu monista tekijöistä. Tutustu putkistoosi ja palveluntarjoajasi dashboardeihin nähdäksesi, missä voit määrittää palomuuria.

#5: Tarkista koodi

Bugeja, kuten virheitäkin, sattuu. Vaikka kuinka yrittäisit, on mahdotonta saada niitä kaikkia kiinni. Joskus yksi saattaa livahtaa läpi ja aiheuttaa 503-virheen.

Jos olet kokeillut kaikkea muuta ja sivustosi näyttää yhä 503 Service Unavailable -virhettä, syy voi olla jossain koodissa.

Tarkista kaikki palvelinpuolen koodi ja kiinnitä erityistä huomiota kaikkeen, mikä liittyy säännöllisiin lausekkeisiin – pieni regex-virhe aiheutti meille freeCodeCampissa valtavan piikin suorittimen käytössä, keskeytyksiä ja kolmisen vuorokautta kestäneen paniikin.

Toivottavasti pystyt jäljittämään syyllisen, ottamaan käyttöön korjauksen ja kaikki palautuu normaaliksi.

Yhteenvetona

Tässä pitäisi olla kaikki mitä sinun tarvitsee tietää 503 Service Unavailable -virheistä. Vaikka et yleensä voi tehdä paljoakaan, kun näet 503-virheen, toivottavasti jotkin näistä ohjeista auttavat, kun kohtaat sellaisen seuraavan kerran.

Turvassa pysymistä ja hyvää päivittämistä, kunnes se toimii 🙂