Ursache und Lösung von Fehler 503

Autor:   |  07.08.2019


http-368146_640.jpg

Ein HTTP Error wie Fehlermeldung 503 Service Unavailable auf einem laufenden Server für den Internetauftritt oder einen Webshop beeinträchtigt die öffentliche Wahrnehmung und erfordert aus diesem Grund eine unverzügliche Lösung. Neben einem vollständigen Serverausfall etwa durch Versagen der Hardware oder einem Problem der Software kann eine angepasstes Servermonitoring auch die Erreichbarkeit einer Webseite einschließen. Das Servermonitoring meldet in diesem Fall jeden HTTP Error der Kategorie Fehler 500 Internal Server Error, um die Ausfallzeiten durch Störungen wie den Fehler 503 Server Unavailable auf ein Minimum zu reduzieren.

 

HTTP Error 500 und Unterkategorien

Jeder Fehler 500 deutet immer auf ein Problem mit dem Server und der internen Datenverarbeitung oder der Kommunikation mit dem verbundenen Client hin. Es handelt sich um einen sogenannten Catch-All HTTP Error, der bei zahlreichen unterschiedlichen Problemen ausgegeben wird und nur einen allgemeinen Hinweis auf deren Ursache und eine mögliche Lösung darstellt. Neben dem allgemeinen Fehler 500 umfasst diese Fehlerklasse weitere spezielle Codes, die die Suche nach einer Lösung erleichtern. Zu diesen gehören zahlreiche weitere häufige Fehler wie HTTP Error 502 Bad Gateway, 504 Gateway Timeout sowie der Fehler 503 Service Unavailable. Er meldet den temporären Ausfall eines für die Antwort notwendigen Dienstes, ohne jedoch dessen exakte Bezeichnung oder zusätzliche Details zu nennen. Die Bezeichnung Service Unavailable oder Dienst nicht verfügbar kann sich somit auf eine oder mehrere interne und externe Schnittstellen oder bestimmte Funktionen des Webservers beziehen. Obwohl der Fehler 503 dadurch präziser als der HTTP Error 500 ist, gibt er dennoch keine klare Diagnose oder zeigt konkrete Schritte zur Lösung des Problems auf.

Temporäre Erscheinung von Fehler 503 - Service Unavailable für kurze Zeit

Eines der Merkmale von Fehler 503 Service Unavailable ist, dass der HTTP Error bereits bei einem kurzen Serverausfall auftreten kann. Ein Beispiel dafür ist das kurze Abschalten eines Dienstes etwa bei seinem Neustart, nachdem eine Aktualisierung des Betriebssystems vorgenommen wurde. Dieser Neustart benötigt meist weniger als eine Sekunde, aber exakt zu diesem Zeitpunkt eingehende Verbindungen sind von einem Fehler 503 Service Unavailable betroffen. Von diesem Phänomen kann auch das Servermonitoring betroffen sein, falls es nicht nur die Erreichbarkeit, sondern auch den Status von Webseiten auf einen HTTP Error wie Fehler 503 Service Unavailable prüft. Ein kurzfristiges Intervall zwischen den einzelnen Abfragen ist deshalb beim Servermonitoring wichtig, um einen blinden Alarm und häufigere Falschmeldungen auszuschließen. In jedem Fall sollte ein HTTP Error inklusive Fehler 503 mehrfach und wenn möglich von unterschiedlichen Stellen aus verifiziert werden, während eine intensive Suche nach einer Lösung läuft.

Frühzeitige Lösung bei der Planungsphase innerhalb einer Testumgebung

Um einen Fehler 500 und speziell den HTTP Error 503 Service Unavailable grundsätzlich zu vermeiden, empfiehlt sich bei dem Einrichten einer Webseite vor dem produktiven Betrieb ein umfangreicher Stresstest. Dieser kann zwar keinen Serverausfall simulieren, hilft aber, die Belastbarkeit und die Grenzen bestimmter Dienste vor Erreichen eines HTTP Error wie Fehler 503 Service Unavailable zu ergründen. In einem weiteren Schritt können Administratoren mit ausreichender Vorbereitung eine Lösung etwa durch Optimierung des Systems entwickeln und diese vor der produktiven Phase realisieren. Die Testszenarien sollten bereits das später verwendete Servermonitoring einschließen, um hier ebenfalls eine frühzeitige Lösung für Abweichen von der Erwartung zu entwickeln. Verteilen sich zusätzlich Dienste wie Datenbanken oder PHP Interpreter innerhalb des Netzwerkes auf mehrere Instanzen, gehört ein temporärer Serverausfall einzelner Bereiche ebenfalls zu den Prüfszenarien. In diesem Fall lässt sich der Fehler 503 Service Unavailable durch redundante Systeme vermeiden, bei denen das Servermonitoring im Falle einer Störung automatisch auf ein Backup umschaltet.

Fehler 503 Service Unavailable im laufenden Betrieb

Während der produktiven Phase verursachen in erster Linie kurzzeitige Unterbrechungen bestimmter Dienste den HTTP Error 503 Service Unavailable. Detailliertere Auskunft zu Ursache und Lösung gibt unter anderem ein umfangreiches Servermonitoring, das neben einem Serverausfall auch einzelne von außen erreichbare Dienste beobachtet. Typischerweise tritt ein Fehler 503 Service Unavailable unter folgenden Bedingungen auf:

  • Zeitweilige Überlastung durch viele Anfragen, Lastspitzen und zu geringen Ressourcen
  • Neustart eines Dienstes oder eines Servers
  • Dienst- oder Serverausfall außerhalb des Webservers
  • Aktualisierung der Software oder Migration zu neuen Umgebungen
  • Angriffe im Rahmen einer DDOS Attacke
  • Störungen im Netzwerk mit instabilen Knoten und Gateways

Unter kontrollierten Bedingungen ist ein HTTP Error beispielsweise beim Aufspielen von Updates nicht vollständig zu vermeiden, kann aber in wenig aktive Zeitintervalle wie die Nacht verlagert werden. Meldet das Servermonitoring hingegen einen unerwarteten und nicht erklärbaren Fehler 503, liefert es in der Regel ebenfalls Hinweise auf die Lösung. Zunächst einmal ist es erforderlich, den betroffenen Dienst zu ermitteln. Anhand dessen Log-Dateien lassen sich die notwendigen Schritte zu einer Lösung planen und umsetzen.

Bildnachweis: geralt / pixabay.com / CC0 Creative Commons