5xx-Fehler: Lösung von Serverproblemen
HTTP 5xx-Codes können durch einen Fehler auf einem Origin Server oder CDN-Edge-Server verursacht werden.
Überprüfung auf Zwischenfälle oder Wartungsarbeiten
Wenn Sie eine signifikante Zunahme von 5xx-Codes festgestellt oder mehrere Beschwerden von Benutzern erhalten haben, empfehlen wir Ihnen, unsere Statusseite auf Vorfälle oder Wartungsarbeiten im Zusammenhang mit den folgenden Diensten zu überprüfen:
- CDN-Dienst;
- Andere Gcore-Dienste (wenn Sie einen dieser Dienste als Origin Server nutzen: Storage, VPS, Dedicated Server, Cloud).
Was sind 5xx-Fehler?
5xx-Fehler können aus vielen möglichen Gründen auftreten. Im folgenden Artikel gehen wir auf die wahrscheinlichsten Gründe für das Auftreten solcher Fehler ein und zeigen, wie man sie selbst diagnostizieren und beheben kann. In den meisten Fällen werden 5xx-Fehler durch zwei Fehler dargestellt: Statuscode 502 (zeigt an, dass der Server, während er als Gateway oder Proxy fungiert, eine ungültige Antwort vom Upstream-Server erhalten hat) und Statuscode 504 (zeigt an, dass der Server, während er als Gateway oder Proxy fungiert, nicht rechtzeitig eine Antwort vom Upstream-Server erhalten hat, die er zur Beendigung der Anfrage benötigt). Neben 502 und 504 gibt es noch weitere 5xx-Statuscodes, die jedoch am ehesten auftreten und von Ihnen selbst behoben werden können. Falls Sie andere Fehler erhalten, wenden Sie sich bitte an unser Support-Team.
Überprüfen Sie Ihrem Origin Server
Tellen Sie sicher, dass Ihr Origin Server verfügbar ist.
Wenn der Origin Servernicht antwortet oder einen HTTP-Fehler zurückgibt, wenden Sie sich an Ihren Hosting-Anbieter oder den Server-Administrator, um dieses Problem zu lösen.
- Der HTTP-Fehler 504 tritt in der Regel auf, wenn ein Origin Server nicht rechtzeitig antwortet: Die CDN-Edge-Server warten 5 Sekunden lang, und wenn ein Origin Server nicht antwortet, geben sie einen 504-Fehler zurück. Ändern Sie die Einstellungen Ihres Herkunftsservers, damit er rechtzeitig antwortet, oder stellen Sie sicher, dass keine Prozesse die Verbindung verlangsamen.
- Wenn Sie einen Cloudflare- oder Cloudfront-Origin Server verwenden, vergewissern Sie sich, dass Sie die Option "SNI-Hostname ändern" aktiviert haben.
- Wenn Sie den Zugriff auf Ihren Origin Server nach IP-Adresse beschränken oder einen DDoS-Schutzdienst verwenden, stellen Sie sicher, dass Sie die CDN-Edge-Server auf eine Whitelist gesetzt haben. Verwenden Sie eine API-Anfrage, um die Liste der IP zu erhalten:
curl -i -X GET https://api.gcore.com/cdn/public-ip-list
Hinweis: Wir aktualisieren diese Liste ständig und schlagen Ihnen zwei Lösungen vor: Erstellen Sie ein Skript, um die Whitelist regelmäßig zu aktualisieren, oder verwenden Sie die HTTP-Header-Autorisierung. Mehr über ACL finden Sie in diesem Artikel.
Überprüfen Sie Ihre CDN-Ressourceneinstellungen
HTTP 5xx-Fehler können durch falsche Einstellungen der CDN-Ressourcen verursacht werden. Prüfen Sie die Liste der häufigsten Fehler unten.
Falsches Origin Pull protocol
Überprüfen Sie das Origin Pull Protocol in den Einstellungen der Ressource und stellen Sie sicher, dass Ihr Origin Server das gleiche Protokoll verwendet. Weitere Informationen zu dieser Funktion finden Sie in diesem Artikel.
Wie prüft man, welches Protokoll der Herkunftsserver unterstützt? Sie können es entweder direkt auf Ihrem Server überprüfen oder den Befehl "Curl" ausführen, der von den meisten Systemen standardmäßig unterstützt wird.
Um zu überprüfen, ob das verwendete Pull Protocol korrekt ist, führen Sie den folgenden Befehl im Terminal (Windows) oder in der Konsole (macOS) aus:
curl -H "Host: example.com" -I http(s)://10.0.0.1/file.txt
Wo:
- example.com ist der Wert des Host-Headers;
- http(s) ist der Protokollwert, der vom Origin Server verwendeten Protokoll abhängt;
- 10.0.0.1 ist die IP-Adresse der Origin Server Ihrer Website;
- file.txt ist eine beliebige statische Datei, die über ein CDN geliefert wird.
Beachten Sie, dass die Syntax je nach Betriebssystem unterschiedlich sein kann.
Wenn Ihre Anfrage den Statuscode 200 zurückgibt, bedeutet dies, dass Ihr Origin Server das Protokoll unterstützt, das Sie im Befehl angegeben haben. Wenn der Statuscode 5xx oder ein SSL-Fehler zurückgegeben wird, bedeutet dies, dass Ihr Origin Server das gewählte Protokoll nicht unterstützt. Vergewissern Sie sich, dass das andere Protokoll zugänglich ist, indem Sie das andere Protokoll verwenden, und ändern Sie Ihr Origin Pull Protocol in Ihren CDN-Ressourceneinstellungen entsprechend.
Falscher Host-Header
Aktivieren Sie die Option "Change Host Header". Vergewissern Sie sich, dass die Option aktiviert ist und der Wert mit der Origin Server übereinstimmt oder mit dem Host übereinstimmt, den Sie auf dem Origin server eingerichtet haben. Weitere Informationen zum Host Header finden Sie hier.
Wie prüfe ich den Host Header?
Um zu überprüfen, ob der verwendete Host-Header korrekt ist, führen Sie den folgenden Befehl im Terminal (Windows) oder in der Konsole (macOS) aus:
curl -H "Host: example.com" -I http(s)://10.0.0.1/file.txt
Wo:
- example.com ist der Wert des Host-Headers;
- http(s) ist der Protokollwert, der vom Origin Serververwendeten Protokoll abhängt;
- 10.0.0.1 ist die IP-Adresse der Origin ServerIhrer Website;
- file.txt ist eine beliebige statische Datei, die über ein CDN geliefert wird.
Wenn Sie in der Antwort einen Fehler 400 Bad Request, 403 Forbidden Response, 502 Bad gateway oder 504 Gateway timeout erhalten, ist Ihr Server nicht in der Lage, den angegebenen Host-Header zu verarbeiten. Folgen Sie in diesem Fall den obigen Anweisungen, um die Option zu verwalten.
Um die Anzahl der 5xx-Fehler zu verfolgen, verwenden Sie die Statistik der Antwortcodes auf dem Reports Bericht.
Um detaillierte Daten über Fehlerantworten zu erhalten, verwenden Sie unsere kostenpflichtige Funktion Raw Logs. In diesem Artikel erfahren Sie mehr über die Einrichtung des Empfangs von Rohprotokollen und die Spezifikationen der Protokollfelder.
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.