Fejl opstår – der er uventet vedligeholdelse, en fejl, der ikke blev opdaget, eller en side bliver viral, og strømmen af forbindelser får serveren til at gå ned.

Hvis du har været online i et stykke tid, har du uden tvivl set den lidt vage fejl 503 Service Unavailable.

I denne artikel gennemgår vi HTTP-statuskoder, hvad 503-fejlen betyder, og nogle mulige måder at løse den på – både for et websted, du forsøger at besøge, og for dit eget websted.

En oversigt over HTTP-statuskoder

Servere, der er vært for websider, lytter efter anmodninger fra webbrowsere eller enheder, også kendt som klienter. Serveren bruger derefter en række forskellige statuskoder til at kommunikere tilbage.

Disse statuskoder er organiseret i forskellige klasser, hvilket angives af det første tal i statuskoden:

  • 1xx: Information – serveren er stadig i gang med at behandle anmodningen
  • 2xx: Succes – anmodningen lykkedes, og serveren svarer med siden eller ressourcen
  • 3xx: Omdirigeringen – siden eller ressourcen er flyttet, og serveren svarer med den nye placering
  • 4xx: Klientfejl – der er en fejl i anmodningen fra browseren eller enheden
  • 5xx: Serverfejl – der er en fejl med serveren

De sidste to cifre i hver HTTP-statuskode repræsenterer en mere specifik status for hver klasse. For eksempel betyder 301, at en side eller ressource er flyttet permanent, mens 302 betyder, at flytningen er midlertidig.

Kig på denne side for at få en liste over almindelige HTTP-statuskoder og deres betydning: https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

De fleste statuskoder går helt ubemærket forbi, hvilket er fint, for det betyder, at alting fungerer. Det er først, når du kommer til intervallet 4xx-5xx, at du måske lægger mærke til en statuskode, fordi du vil se en side som denne:

En typisk 503-fejlside – Kilde: Stack Overflow

Nu, hvor du har en grundlæggende forståelse af HTTP-statuskoder, skal vi grave lidt dybere ned i 503 Service Unavailable-fejlen.

Hvad betyder 503-fejlkoden?

Som nævnt ovenfor betyder 5xx-statuskoder, at der er et problem med selve serveren.

En 503 Service Unavailable-fejl betyder, at siden eller ressourcen ikke er tilgængelig. Der er mange årsager til, at en server kan returnere en 503-fejl, men nogle almindelige årsager er vedligeholdelse, en fejl i serverens kode eller en pludselig stigning i trafikken, der får serveren til at blive overbelastet.

Meddelelsen, der sendes sammen med 503-fejlen, kan variere afhængigt af den server, den kommer fra, men her er nogle af de almindelige meddelelser, som du vil se:

– 503 Service Unavailable
– 503 Service Temporarily Unavailable
– HTTP Server Error 503
– HTTP Error 503
– Error 503 Service Unavailable
– Serveren er midlertidigt ude af stand til at servicere din anmodning på grund af vedligeholdelsesnedbrud eller kapacitetsproblemer. Prøv venligst igen senere.
Kilde

Hvad end årsagen til 503-fejlen er, er den normalt midlertidig – serveren genstarter, trafikken aftager, og problemet løser sig selv.

Sådan løser du 503 Status Unavailable-fejlen

Når du forsøger at løse en 503-fejl, er der to generelle lejre.

Den første er, hvor du er slutbruger, og du forsøger at besøge et websted, som du ikke ejer. I den anden er du ejer webstedet, og det kaster 503-fejl til folk, der forsøger at besøge det.

Metoden til at løse 503-fejl er forskellig, alt efter hvilken gruppe du falder ind under. Lad os se på nogle ting, du kan gøre som slutbruger, hvis du ser en 503-fejl.

Sådan løser du en 503 Status Unavailable-fejl som slutbruger

Da 5xx-statuskoder betyder, at fejlen er på serversiden, er der ikke meget, du kan gøre direkte.

Selv om 503-fejl normalt er midlertidige, er der nogle ting, du kan gøre, mens du venter.

#1: Opdater siden

Sommetider er fejlen så midlertidig, at en simpel opdatering er det eneste, der skal til. Når siden er åben, skal du blot trykke på Ctrl – R på Windows og Linux eller Cmd – R på macOS for at opdatere siden.

#2: Se, om siden er nede for andre mennesker

Det næste du kan gøre er at bruge en tjeneste som Is It Down Right Now? eller Down For Everyone Or Just Me for at se, om andre mennesker får den samme fejl.

Du skal bare gå ind på et af disse websteder og indtaste URL’en for den side, du forsøger at besøge.

Tjenesten pinger den URL, du har indtastet, for at se, om den får et svar. Derefter viser den dig nogle fede statistikker og grafer om siden:

Kontroller freeCodeCamp på Is It Down Right Now?

Hvis du ruller lidt ned, kan du se nogle kommentarer fra andre personer. Ofte angiver folk deres generelle placering og andre data, så det kan være en god måde at afgøre, om fejlen kun påvirker visse regioner eller specifikke enheder.

#3: Genstart din router

Somme gange har problemet at gøre med en fejl i DNS-serveren.

DNS står for Domain Name System, og de fungerer grundlæggende som oversættere mellem IP-adresser og menneskeligt læsbare URL’er.

For eksempel kan du besøge Google ved at indtaste dens lange IP-adresse direkte (172.217.25.206), eller du kan bare indtaste URL’en, www.google.com.

Det er en DNS, der ofte er hostet på en server, der håndterer alt det bag kulisserne.

Alt dette betyder, at mange routere cacher svarene fra DNS-servere (www.google.com <==> 172.217.25.206). Men nogle gange kan denne cache blive beskadiget og forårsage fejl.

En nem måde at nulstille eller “skylle” cachen på er at genstarte din router. Du skal blot trække stikket ud af routeren i ca. 5 sekunder og derefter sætte den i igen.

Den bør genstarte efter et minut, og alle dine enheder bør automatisk genetablere forbindelsen. Når de gør det, kan du prøve at besøge webstedet igen.

Sådan løser du en 503 Status Unavailable-fejl som webstedets ejer

Hvis du er ejeren/udvikleren af det websted, der returnerer 503-fejl, er der lidt mere, du kan gøre for at diagnosticere og løse problemet.

Her er nogle generelle tips til at komme i gang:

#1: Genstart serveren

Udvikling er svært – selv en simpel statisk side kan have så mange bevægelige dele, at det kan være svært at fastslå, hvad der forårsager 503-fejlen.

Sommetider er det bedste at gøre at genstarte serveren og se, om det løser problemet.

Kilde: imgflip

Den nøjagtige metode til genstart af din server kan variere, men normalt kan du få adgang til den fra din udbyders dashboard eller ved at SSH’e ind på serveren og køre en genstartskommando.

Serveren bør genstarte efter et par minutter. Hvis du har konfigureret alt til at køre automatisk ved opstart, kan du besøge dit websted og se, om det virker.

#2: Tjek serverens logfiler

Det næste du skal gøre er at tjekke logfilerne.

Placeringen af serverlogfilerne kan variere afhængigt af, hvilken tjeneste du kører, men de findes ofte i /var/log/....

Kig dig omkring i den mappe, og se, om du kan finde noget. Hvis ikke, kan du tjekke manualen for dine programmer ved at køre man program_name.

#3: Tjek, om der er løbende automatiseret vedligeholdelse

Nogle tjenesteudbydere tilbyder automatiserede pakkeopdateringer og vedligeholdelse. Normalt er dette en god ting – de finder normalt sted i nedetid og hjælper med at sikre, at alt er opdateret.

Fiktivt kan 503-fejl skyldes disse planlagte vedligeholdelsessessioner.

For eksempel opdaterer nogle hostingudbydere, der specialiserer sig i WordPress-hosting, automatisk WP, når der er en ny version. WordPress returnerer automatisk en 503 Service Unavailable-fejl, når det bliver opdateret.

Tjek med dine tjenesteudbydere for at se, om 503-fejlen skyldes planlagt vedligeholdelse.

#4: Tjek din servers firewallindstillinger

Sommetider skyldes 503 Service Unavailable-fejl en fejlkonfigureret firewall, hvor forbindelser kan komme igennem, men ikke kan komme tilbage til klienten.

Din firewall kan også have brug for særlige indstillinger for et CDN, hvor flere forbindelser fra en lille håndfuld IP-adresser kan misfortolkes som et DDoS-angreb.

Den nøjagtige metode til justering af din firewalls indstillinger afhænger af mange faktorer. Tag et kig på din pipeline og din tjenesteudbyders dashboards for at se, hvor du kan konfigurere firewallen.

#5: Tjek koden

Bugs, ligesom fejl, sker. Uanset hvor meget du prøver, er det umuligt at fange dem alle. En gang imellem kan en slippe igennem og forårsage en 503-fejl.

Hvis du har prøvet alt andet, og dit websted stadig viser en 503 Service Unavailable-fejl, kan årsagen ligge et eller andet sted i koden.

Tjek al kode på serversiden, og vær særlig opmærksom på alt, der har med regulære udtryk at gøre – en lille regex-fejl var årsag til en enorm stigning i CPU-forbruget, rullende udfald og omkring tre dages panik for os på freeCodeCamp.

Håbenligt vil du være i stand til at opspore den skyldige, implementere en rettelse, og alt vil være normalt igen.

Sammenfattende

Det burde være alt, hvad du behøver at vide om 503 Service Unavailable fejl. Selv om der normalt ikke er meget, du kan gøre, når du ser en 503-fejl, vil nogle af disse trin forhåbentlig hjælpe, næste gang du støder på en.

Hold dig sikker, og god fornøjelse med at opdatere, indtil det virker 🙂