Fel inträffar – oväntat underhåll, en bugg som inte uppmärksammats eller en sida som blir viral och en flodvåg av anslutningar som får servern att stänga ner.

Om du har varit på nätet en längre tid har du utan tvekan sett det något vaga felet 503 Service Unavailable.

I den här artikeln går vi igenom HTTP-statuskoder, vad felet 503 betyder och några möjliga sätt att lösa det – både för en webbplats som du försöker besöka och för din egen webbplats.

En översikt över HTTP-statuskoder

Servrar som är värdar för webbsidor lyssnar på förfrågningar från webbläsare eller enheter, även kallade klienter. Servern använder sedan ett antal olika statuskoder för att kommunicera tillbaka.

Dessa statuskoder är organiserade i olika klasser, vilket indikeras av det första numret i statuskoden:

  • 1xx: Information – servern håller fortfarande på att bearbeta begäran
  • 2xx: Framgång – begäran lyckades och servern svarar med sidan eller resursen
  • 3xx: Omdirigering – sidan eller resursen har flyttats och servern svarar med den nya platsen
  • 4xx: Klientfel – det finns ett fel i begäran från webbläsaren eller enheten
  • 5xx: Serverfel – det finns ett fel med servern

De två sista siffrorna i varje HTTP-statuskod representerar en mer specifik status för varje klass. Exempelvis innebär 301 att en sida eller resurs har flyttats permanent, medan 302 innebär att flytten är tillfällig.

Kolla på den här sidan för en lista över vanliga HTTP-statuskoder och deras betydelse: https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

De flesta statuskoder går helt obemärkt förbi, vilket är bra eftersom det betyder att allt fungerar. Det är först när du kommer till intervallet 4xx-5xx som du kan lägga märke till en statuskod eftersom du då får se en sida som denna:

En typisk 503-felsida – Källa: Stack Overflow

Nu när du har en grundläggande förståelse för HTTP-statuskoder ska vi gräva lite djupare i felet 503 Service Unavailable.

Vad betyder 503-felkoden?

Som nämnts ovan betyder 5xx-statuskoder att det finns ett problem med själva servern.

Ett 503 Service Unavailable-fel betyder att sidan eller resursen är otillgänglig. Det finns många anledningar till varför en server kan returnera ett 503-fel, men några vanliga orsaker är underhåll, ett fel i serverns kod eller en plötslig ökning av trafiken som gör att servern blir överbelastad.

Meddelandet som skickas med 503-felet kan variera beroende på vilken server det kommer från, men här är några av de vanligaste som du kan se:

– 503 Service Unavailable
– 503 Service Temporarily Unavailable
– HTTP Server Error 503
– HTTP Error 503
– Error 503 Service Unavailable
– Servern kan tillfälligt inte hantera din begäran på grund av underhållsstopp eller kapacitetsproblem. Försök igen senare.
Källa

Oavsett orsaken till felet 503 är det oftast tillfälligt – servern startar om, trafiken avtar och problemet löser sig självt.

Hur man löser 503 Status Unavailable error

När man försöker lösa ett 503-fel finns det två allmänna läger.

Det första är när du är slutanvändare och försöker besöka en webbplats som du inte äger. I det andra läget äger du webbplatsen och den kastar 503-fel till personer som försöker besöka den.

Metoden för att lösa 503-fel skiljer sig åt beroende på vilken grupp du tillhör. Låt oss ta en titt på några saker du kan göra som slutanvändare om du ser ett 503-fel.

Så löser du ett 503 Status Unavailable-fel som slutanvändare

Med tanke på att 5xx-statuskoder innebär att felet ligger på serversidan finns det inte mycket du kan göra direkt.

Även om 503-fel vanligtvis är tillfälliga finns det några saker du kan göra medan du väntar.

#1: Uppdatera sidan

Ibland är felet så tillfälligt att det räcker med en enkel uppdatering. När sidan är öppen är det bara att trycka på Ctrl – R i Windows och Linux eller Cmd – R i macOS för att uppdatera sidan.

#2: Se om sidan är nere för andra personer

Nästa sak du kan göra är att använda en tjänst som Is It Down Right Now? eller Down For Everyone Or Just Me för att se om andra personer får samma fel.

Gå till någon av dessa webbplatser och ange URL:en för den sida du försöker besöka.

Tjänsten kommer att pinga URL:en som du angett för att se om den får ett svar. Sedan visar den dig lite cool statistik och grafer om sidan:

Kontrollerar freeCodeCamp på Is It Down Right Now?

Om du scrollar ner lite längre ner ser du några kommentarer från andra personer. Ofta anger folk sin allmänna plats och andra uppgifter, så detta kan vara ett bra sätt att avgöra om felet bara påverkar vissa regioner eller specifika enheter.

#3: Starta om routern

Ibland har problemet att göra med ett fel på en DNS-server.

DNS står för Domain Name System (domännamnsystem), och de fungerar i princip som översättare mellan IP-adresser och mänskligt läsbara webbadresser.

Du kan till exempel besöka Google genom att skriva in dess långa IP-adress direkt (172.217.25.206), eller så kan du bara skriva in webbadressen, www.google.com.

Det är en DNS, som ofta ligger på en server, som hanterar allt detta bakom kulisserna.

Allt detta innebär att många routrar cachelagrar svaren från DNS-servrar (www.google.com <==> 172.217.25.206). Men ibland kan denna cache bli skadad och orsaka fel.

Ett enkelt sätt att återställa eller ”rensa” cacheminnet är att starta om routern. Koppla bara ur routern i cirka 5 sekunder och koppla sedan in den igen.

Den bör starta om efter en minut och alla dina enheter bör återanslutas automatiskt. När de gör det kan du försöka besöka webbplatsen igen.

Så löser du ett 503 Status Unavailable-fel som webbplatsens ägare

Om du är ägare/utvecklare av webbplatsen som returnerar 503-fel finns det lite mer du kan göra för att diagnostisera och lösa problemet.

Här är några allmänna tips för att komma igång:

#1: Starta om servern

Utveckling är svårt – även en enkel statisk sida kan ha så många rörliga delar att det kan vara svårt att fastställa vad som orsakar 503-felet.

Ibland är det bästa att starta om servern och se om det löser problemet.

Källa: imgflip

Den exakta metoden för att starta om servern kan variera, men vanligtvis kan du få tillgång till den från din leverantörs instrumentpanel eller genom att SSH:a in på servern och köra ett omstartskommando.

Servern bör starta om efter ett par minuter. Om du har konfigurerat allting så att det körs automatiskt vid uppstart kan du besöka din webbplats och se om det fungerar.

#2: Kontrollera serverns loggar

Nästa sak att göra är att kontrollera loggarna.

Placeringen av serverns loggar kan variera beroende på vilken tjänst du kör, men de återfinns ofta i /var/log/....

Kolla runt i den katalogen och se om du kan hitta något. Om inte, kontrollera manualen för dina program genom att köra man program_name.

#3: Kontrollera om det finns pågående automatiserat underhåll

En del tjänsteleverantörer erbjuder automatiserade paketuppdateringar och underhåll. Normalt sett är detta en bra sak – de inträffar vanligtvis under driftstopp och hjälper till att se till att allt är uppdaterat.

Undertiden beror 503-fel på dessa schemalagda underhållssessioner.

Till exempel uppdaterar vissa webbhotell som specialiserar sig på WordPress-hosting automatiskt WP när det finns en ny version. WordPress returnerar automatiskt ett fel 503 Service Unavailable när det uppdateras.

Kontrollera med dina tjänsteleverantörer för att se om 503-felet orsakas av schemalagt underhåll.

#4: Kontrollera serverens brandväggsinställningar

Ibland orsakas 503 Service Unavailable-fel av en felkonfigurerad brandvägg där anslutningar kan ta sig igenom, men misslyckas med att komma tillbaka ut till klienten.

Din brandvägg kan också behöva särskilda inställningar för ett CDN, där flera anslutningar från en liten handfull IP-adresser kan misstolkas som en DDoS-attack.

Den exakta metoden för att justera brandväggens inställningar beror på många faktorer. Ta en titt på din pipeline och din tjänsteleverantörs instrumentpaneler för att se var du kan konfigurera brandväggen.

#5: Kontrollera koden

Bugs, liksom fel, inträffar. Hur du än försöker är det omöjligt att fånga upp alla. Ibland kan en slinka igenom och orsaka ett 503-fel.

Om du har provat allt annat och din webbplats fortfarande visar ett 503 Service Unavailable-fel kan orsaken ligga någonstans i koden.

Kontrollera all serverbaserad kod och var särskilt uppmärksam på allt som har med reguljära uttryck att göra – en liten regex-bugg var det som orsakade en enorm spik i CPU-användning, rullande avbrott och omkring tre dagars panik för oss på freeCodeCamp.

Förhoppningsvis kommer du att kunna spåra upp den skyldige, distribuera en korrigering och allt kommer att vara normalt igen.

Sammanfattningsvis

Det borde vara allt du behöver veta om 503 Service Unavailable-fel. Det finns vanligtvis inte mycket du kan göra när du ser ett 503-fel, men förhoppningsvis kan några av de här stegen hjälpa dig nästa gång du stöter på ett.

Var försiktig och glad uppdatering tills det fungerar 🙂