Co oznacza błąd 503 Service Unavailable?
Kod 503 należy do grupy 5xx, czyli błędów po stronie serwera. Jego sens jest węższy niż „coś się zepsuło”: usługa jest chwilowo niedostępna. Serwer przyjął połączenie i świadomie odmówił obsługi, bo jest przeciążony, trwają prace albo aplikacja za nim nie jest gotowa. Z definicji to stan przejściowy, po którym strona ma wrócić sama.
Dobrze skonfigurowany serwer dołącza do odpowiedzi 503 nagłówek Retry-After z liczbą sekund albo datą, po której warto spróbować ponownie. Przeglądarka go nie pokazuje, ale roboty wyszukiwarek i narzędzia do monitoringu mogą go odczytać. Sam napis na stronie bywa różny: „Service Unavailable”, „Usługa niedostępna”, „Serwis w trakcie prac” albo komunikat hostingu z jego logo.
Czym błąd 503 różni się od 500, 502 i 504?
Wszystkie cztery wyglądają dla klienta tak samo, ale wskazują różne miejsca. 500 to błąd samej aplikacji, która próbowała obsłużyć żądanie i się wywróciła. 502 i 504 zgłasza serwer pośredniczący, który nie dostał od aplikacji za nim poprawnej odpowiedzi albo nie doczekał się jej w czasie. 503 mówi, że ktoś po drodze wie o problemie i odmawia z góry, zanim w ogóle spróbuje.
Ta różnica ma znaczenie przy szukaniu przyczyny. Po 500 szukasz w logach aplikacji konkretnego błędu. Po 503 najpierw pytasz, kto zdecydował o odmowie: aplikacja w trybie prac, serwer WWW, który wyczerpał limit, czy usługa ochronna przed nim. Pełną listę grup kodów i to, czego nie mówi kod 200, opisuje nasz tekst „Kod 200: co znaczy i dlaczego nie dowodzi, że strona działa”.
Skąd się bierze błąd 503?
Przyczyn jest kilka i każda zostawia inny ślad. Poniżej najczęstsze, od tych, które znikają same, do tych, które wracają przy każdym większym ruchu.
Tryb prac po aktualizacji
WordPress na czas aktualizacji rdzenia, wtyczek albo motywu tworzy w katalogu głównym plik .maintenance i odpowiada kodem 503 z napisem o krótkiej przerwie technicznej. Gdy aktualizacja przerwie się w połowie, plik zostaje i strona tkwi w tym stanie bez końca. Podobne tryby mają inne systemy sklepowe i wiele aplikacji po wdrożeniu nowej wersji.
Przeciążenie przy większym ruchu
Serwer ma skończoną liczbę procesów do obsługi żądań. Gdy wszystkie są zajęte, na przykład przy promocji, wysyłce newslettera albo wizycie robotów, kolejne żądania dostają 503. Typowy ślad: błąd pojawia się falami w godzinach szczytu i znika w nocy.
Limit zasobów na hostingu współdzielonym
Na hostingu współdzielonym konto ma przydział procesów, pamięci i czasu procesora. Po jego przekroczeniu hosting sam odpowiada 503, choć aplikacja nie zgłosiła żadnego błędu. Panel hostingu zwykle pokazuje wykres zużycia i momenty, w których limit został osiągnięty.
Aplikacja, która jeszcze nie wstała
Po restarcie albo wdrożeniu serwer pośredniczący przez chwilę nie ma do czego przekazać ruchu i odpowiada 503. Jeśli trwa to sekundy, klient tego nie zauważy. Jeśli aplikacja nie startuje wcale, 503 zostaje do czasu, aż ktoś zajrzy w jej logi.
Ochrona przed nadmiarem ruchu
Część usług ochronnych i zapór aplikacyjnych odpowiada 503, gdy uzna ruch za podejrzany albo zbyt intensywny. Wtedy błąd widzą tylko niektórzy odwiedzający, na przykład z jednej sieci, a właściciel strony u siebie widzi wszystko w porządku.
Co zrobić, gdy widzisz błąd 503 na własnej stronie?
Najpierw ustal, czy ktoś właśnie czegoś nie zmienia. Aktualizacja wtyczki, wdrożenie, przenosiny na inny serwer to najczęstsze źródła 503 i zwykle wystarczy zapytać osobę, która ma dostęp do panelu. Jeśli strona na WordPressie od kilkunastu minut pokazuje napis o przerwie technicznej, a nikt niczego nie aktualizuje, usuń plik .maintenance z katalogu głównego przez menedżer plików hostingu albo FTP i dokończ przerwaną aktualizację.
Jeśli nikt nic nie zmieniał, zajrzyj do panelu hostingu na wykres zużycia zasobów. Czerwone szczyty w chwili błędów oznaczają limit konta: pomoże wyłączenie ciężkiej wtyczki, pamięć podręczna stron albo wyższy pakiet. Sprawdź też, czy błąd widać przez sieć komórkową i spoza firmy. Jeśli 503 widzą tylko niektórzy, przyczyna leży raczej w ochronie przed ruchem niż w samym serwerze.
Gdy trzeba zgłosić sprawę hostingowi, podaj pełny adres, godzinę pierwszego błędu co do minuty, dokładny komunikat i informację o ostatnich zmianach. Jak przygotować takie zgłoszenie w ogólnym przypadku, rozpisujemy w tekście „Serwer nie działa: jak w kilka minut ustalić, co padło i do kogo dzwonić”.
Czy błąd 503 szkodzi pozycji w Google?
Krótki nie szkodzi, a zaplanowany wręcz pomaga. Google traktuje 503 jako sygnał, że niedostępność jest chwilowa: robot wraca później i nie wyrzuca strony z indeksu po pierwszej nieudanej wizycie. Dlatego na czas prac serwisowych właściwą odpowiedzią jest właśnie 503, a nie ładna strona „wracamy za godzinę” z kodem 200. Ta druga mówi robotowi, że napis o przerwie jest nową treścią strony.
Szkodzi 503, który trwa. Jeśli robot przez kilka dni z rzędu dostaje tę samą odmowę, przestaje uważać ją za chwilową i może zacząć usuwać adresy z indeksu. Tak kończy się niezauważony tryb prac po przerwanej aktualizacji albo przeciążenie, które powtarza się przy każdej wizycie robota. Jedno i drugie da się złapać w pierwszych minutach, zanim zrobią się z tego dni.
Jak odróżnić zaplanowaną przerwę od awarii w monitoringu?
Sprawdzenie HTTPS pobiera stronę i porównuje kod odpowiedzi, więc 503 kończy się alarmem tak samo jak każdy inny błąd. To dobrze przy awarii i źle przy pracach, o których wszyscy wiedzą. Rozwiązaniem nie jest wyłączanie monitoringu na czas wdrożenia, bo potem łatwo zapomnieć go włączyć.
W Uptimo służą do tego okna serwisowe, dostępne od planu Start. Zaplanowane okno wycisza alerty na czas prac, a to, czy ten okres wypada z wyliczeń SLA, jest osobną decyzją. 503 w oknie nikogo nie budzi, 503 poza oknem jest alarmem. Wskazani odbiorcy mogą dostać zapowiedź prac e-mailem z zaproszeniem do kalendarza, a w tym samym planie jest publiczna strona statusu, na której klienci zobaczą, że przerwa jest zapowiedziana.
Na sam początek wystarczy darmowy plan Solo: 3 usługi, sprawdzenia HTTP, HTTPS, DNS, ping i TCP z interwałem od 5 minut. Przy 503 pojawiającym się falami w szczycie krótszy interwał robi różnicę, bo pięciominutowe sprawdzenie może trafić między falami. W planach Zespół i Agencja sprawdzenia strony mogą chodzić co minutę.
Czego monitoring nie powie o błędzie 503?
Nie powie, który z powodów z listy wyżej zadziałał. Pokaże, od kiedy strona odpowiada 503, jak długo to trwało i czy wraca falami, co zawęża poszukiwania, ale przyczynę znajdzie ktoś z dostępem do logów i panelu hostingu.
Nie zobaczy też 503, który dostaje tylko część internetu. Sprawdzenia w Uptimo wychodzą dziś z jednego miejsca w Unii Europejskiej. Jeśli usługa ochronna odrzuca ruch z konkretnej sieci, a pulpit jest zielony, zgłoszenie klienta trzeba potraktować poważnie i sprawdzić razem z nim.
503 poza oknem to alarm, w oknie cisza
Sprawdzenie HTTPS w darmowym planie Solo złapie 503 w kilka minut, zanim zrobi się z niego problem z indeksem. Okna serwisowe, które wyciszają zapowiedziane prace, są od planu Start. Konto nie wymaga karty.