Fehlerbehebung
HTTP-Fehlercodes auf KapsuleHost
What 403, 404, 500, 502, 503 and 504 actually mean on this platform, and the specific thing to do about each one.
Was bedeuten 403, 404, 500, 502, 503 und 504 tatsächlich auf dieser Plattform, und was ist die spezifische Massnahme für jeden dieser Fehler.
Ein Fehlercode ist keine generische Fehlermeldung. Er teilt dir mit, welche Schicht des Stacks aufgegeben hat, und das grenzt die Ursache enorm ein. Ein 502 und ein 504 sehen für einen Besucher identisch aus, haben aber völlig unterschiedliche Ursachen und Lösungen.
Den tatsächlichen Code lesen
Bevor du eine Fehlerbehebung durchführst, hole dir die echte Nummer. Eine schöne Fehlerseite kann das eine sagen, während der Server etwas anderes zurückgibt.
Öffne in deinem Browser die Entwicklertools, gehe zum Netzwerk-Tab, lade die Seite neu und klicke auf die erste Anfrage. Der Status befindet sich oben im Headers-Panel.
Aus einem Terminal:
curl -sSI https://yourdomain.com/
Das gibt die Statuszeile und die Response-Header aus, ohne die Seite herunterzuladen. Die Header sind wichtig: mehrere der folgenden Fälle werden durch einen Header anstelle des Codes allein identifiziert.
Die Kurzfassung
| Code | Bedeutung | Wessen Problem |
|---|---|---|
| 401 | Authentifizierung erforderlich | Passwortschutz ist aktiviert |
| 403 | Absichtlich abgelehnt | Eine Sicherheitsregel hat die Anfrage blockiert |
| 404 | Nicht gefunden | Deine Website, normalerweise Routing |
| 500 | Deine Anwendung ist abgestürzt | Dein Code oder ein Plugin |
| 502 | Der Server hinter dem Web-Server ist fehlgeschlagen | Normalerweise deine Anwendung |
| 503 | Derzeit absichtlich nicht verfügbar | Unterbrochen, pausiert oder Wartung |
| 504 | Hat zu lange gedauert | Etwas in deinem Code ist langsam |
401 Unauthorized
Du siehst ein Browserfenster mit Benutzername und Passwort anstelle einer Seite. Das bedeutet, dass der grundlegende Passwortschutz auf der Website oder in diesem Pfad aktiviert ist.
Deaktiviere ihn oder hole dir die Anmeldedaten unter Websites, die Website, Erweitert, dann Passwortschutz. Siehe Passwortschutz.
Die Zertifikatverlängerung funktioniert weiterhin, während der Passwortschutz aktiviert ist, daher wird dies dein HTTPS nicht beeinträchtigen.
403 Forbidden
403 bedeutet, dass etwas die Anfrage absichtlich abgelehnt hat. Auf dieser Plattform gibt es vier unterschiedliche Quellen.
Die Web-Anwendungs-Firewall. Jede Website sitzt hinter einer Rules Engine, die eingehende Anfragen überprüft und diejenigen blockiert, die bekannte Angriffsmuster erfüllen. Dies ist die häufigste Ursache für einen unerwarteten 403, und es ist fast immer ein falsches Positiv bei einer legitimen, aber ungewöhnlichen Anfrage: eine lange Formularübermittlung, ein Page Builder, der komplexe Inhalte speichert, ein Plugin, das rohen Code postet.
Symptome eines Firewall-Blocks: eine spezifische Aktion schlägt jedes Mal mit 403 fehl, während der Rest der Website in Ordnung ist, und sie schlägt in einem anderen Browser und in einem anderen Netzwerk identisch fehl.
Die Lösung ist eine gezielte Regelausschliessung, die der Support hinzufügen kann. Suche nicht nach einem Schalter, um die Firewall auszuschalten; es gibt keinen für Shared Hosting, und es wäre ohnehin die falsche Lösung. Öffne ein Ticket mit der genauen URL, der genauen Zeit und dem, was du getan hast. Siehe Support-Ticket öffnen.
Geo-Blocking. Wenn du deine Website auf bestimmte Länder beschränkt hast, bekommen alle anderen eine 403. Überprüfe Erweitert, dann Sicherheit. Siehe Geo-Blocking.
Ein IP-Block. Entweder einen, den du selbst unter Sicherheit hinzugefügt hast, oder einen Block auf Plattformebene gegen Missbrauch.
Ein Dateiberechtigungs- oder Symlink-Problem. Seltener, und es tritt normalerweise nach einer manuellen Dateioperierung über SSH auf.
404 Not Found
Der Server hat geantwortet, aber es gibt nichts unter dieser Adresse.
Eine Seite zeigt 404. Die Datei oder der Beitrag existiert tatsächlich nicht, oder die URL ist falsch.
Jede Seite ausser der Homepage zeigt 404. Dies ist ein Routing-Problem, und auf WordPress ist es fast immer Permalinks. Wichtig: Kapsule Web Hosting läuft mit nginx, nicht mit Apache, daher .htaccess Rewrite-Regeln tun hier nichts. Wenn du von einem Host migriert hast, der diese verwendet, ist das deine Ursache. Siehe Permalink-Probleme und WordPress und .htaccess.
Die gesamte Website zeigt 404. Überprüfe, dass die Website auf das richtige Document Root zeigt und dass deine Domain an die richtige Website angehängt ist. Siehe Benutzerdefinierte Domain für eine Website.
Es funktioniert auf deinem Computer und zeigt 404 live. Linux-Dateinamen unterscheiden zwischen Gross- und Kleinschreibung. Logo.PNG und logo.png sind zwei verschiedene Dateien.
500 Internal Server Error
Deine Anwendung ist ausgeführt worden und abgestürzt. Der Web-Server ist in Ordnung; der Code nicht.
Dies ist der eine Fall, in dem die Logs dir die Antwort fast sofort geben, weil ein PHP-Fehler die Datei und die Zeilennummer aufzeichnet, die fehlgeschlagen ist, die normalerweise das genaue Plugin benennt.
- Gehe zu Websites, die Website, Erweitert, dann Logs.
- Schau dir die neuesten Einträge an.
- Ordne den Zeitstempel dem Zeitpunkt zu, als du den Fehler gesehen hast.
Siehe Error Logs. Für die WordPress-spezifische Version davon, bei der die Seite leer ist, anstatt einen Fehler anzuzeigen, siehe Der WordPress White Screen.
Die häufigsten Ursachen sind ein Plugin oder Theme, das mit deiner PHP-Version nicht kompatibel ist, ein erreichtes Speicherlimit und eine fehlgeschlagene Datenbankverbindung. Siehe PHP-Erweiterungen und Einstellungen und WordPress Memory Limit.
502 Bad Gateway
Der Web-Server hat versucht, die Anfrage an deine Anwendung zu übergeben und bekam nichts Verwertbares zurück. Der Anwendungsprozess hat die Verbindung abgelehnt oder ist während der Anfrage abgestürzt.
Häufige Ursachen:
- Ein PHP-Prozess ist abgestürzt, oft weil der Speicher bei einer Anfrage aufgebraucht wurde.
- Eine Node.js-Anwendung läuft nicht oder ist beim Start abgestürzt.
- Ein Verkehrsstoß hat die verfügbaren Worker-Prozesse erschöpft.
Was du tun kannst: Überprüfe zuerst die Logs wie oben. Wenn es eine Node-Anwendung ist, überprüfe, ob der Prozess tatsächlich ausgeführt wird, und schaue dir seine Startausgabe an. Wenn 502er nur zu deinen verkehrsreichsten Zeiten auftreten, ist es eher ein Kapazitätsproblem als ein Bug. Siehe Website-Langsamkeit und Ressourcenlimits.
Ein 502 von KPanel selbst beim Speichern einer Einstellung bedeutet etwas anderes. Es bedeutet, dass das Panel die Konfigurationsänderung nicht auf den Web-Server anwenden konnte, und es hat die Änderung rückgängig gemacht, anstatt deine Website halb konfiguriert zu lassen. Deine Website ist nicht betroffen. Versuche es erneut, und wenn es weiterhin fehlschlägt, öffne ein Ticket.
503 Service Unavailable
503 bedeutet, dass der Server derzeit absichtlich nicht verfügbar ist. Es gibt drei spezifische Ursachen auf dieser Plattform, und die Antwort teilt dir mit, welche es ist.
Deine Website ist unterbrochen. Du siehst eine Seite mit der Überschrift "Diese Website ist pausiert". Dies ist ein Billing- oder Kontostatus, kein technischer Fehler, und die Website kommt sofort zurück, wenn der Status gelöscht wird. Überprüfe Billing. Siehe Zahlungsausfall und Konto unterbrochen.
Ein Orbit-Projekt hat sein Ausgabenlimit erreicht. Die Antwort trägt den Header X-Orbit-Paused: spending-cap, und die Seite sagt, dass die Website ihr monatliches Ausgabenlimit erreicht hat. Diesen verwirrt Menschen, weil nichts kaputt ist und kein Support-Ticket erforderlich ist. Das Projekt hat absichtlich aufgehört zu servieren, damit du keine unerwartete Rechnung bekommst.
Um fortzufahren: gehe zu Orbit, das Projekt, Einstellungen, dann Ausgabenlimit, und erhöhe das Limit. Das Servieren wird fortgesetzt, sobald die Änderung übernommen wird, was bis zu einer Stunde dauern kann. Es wird auch automatisch am Anfang des nächsten Abrechnungszeitraums fortgesetzt. Siehe Orbit Spending Caps.
Plattformwartung. Eine Wartungsseite für die gesamte Plattform, die selten und angekündigt ist. Überprüfe Status und Uptime.
504 Gateway Timeout
Deine Anwendung funktionierte noch, als dem Web-Server die Geduld ausging. Nichts ist abgestürzt. Es war nur zu langsam.
Typische Ursachen:
- Ein lange laufender Import, Export, Backup oder Massenoperation, der über den Browser ausgeführt wird.
- Ein Plugin, das bei jedem Seitenaufruf eine langsame externe API aufruft.
- Eine teure Datenbankabfrage ohne Index dahinter.
- Eine Cron-Aufgabe, die durch einen Seitenaufruf anstelle von echtem Cron ausgelöst wird.
Was du tun kannst:
- Identifiziere, welche Anfrage langsam ist. Der APM-Tab auf WordPress-Websites zeigt es dir. Siehe Site Performance.
- Verwende für lange Operationen die Befehlszeile anstelle des Browsers. Siehe WP-CLI.
- Verschiebe geplante Arbeiten zu echtem Cron. Siehe Cron Jobs.
- Erhöhe
max_execution_time, wenn die Arbeit wirklich länger braucht, obwohl dies eher eine Umgehung als eine Lösung ist. Siehe PHP-Erweiterungen und Einstellungen.
Beachte den Unterschied: Wenn PHP zuerst sein eigenes Ausführungslimit erreicht, bekommst du einen 500, nicht einen 504. Beide bedeuten "zu langsam", auf verschiedenen Ebenen.
Überhaupt keine Antwort
Manchmal gibt es keinen Fehlercode, weil es keine Antwort gibt. Die Verbindung bleibt einfach hängen und läuft schliesslich ab.
Wenn das von einem Netzwerk aus passiert, aber die Website von einem anderen aus funktioniert, und besonders von einem Telefon mit mobilen Daten, ist die wahrscheinlichste Ursache ein automatischer Missbrauchsblock: ein Fehler-Stoß oder fehlgeschlagene Anmeldungen von deiner Adresse haben einen vorübergehenden Netzwerk-Level-Ban ausgelöst. Diese klären sich von selbst, normalerweise innerhalb einer Stunde. Wenn du es früher aufgelöst brauchst, kontaktiere den Support mit der IP-Adresse, von der aus du dich verbindest.
Benutzerdefinierte Fehlerseiten
Du kannst die Standard-Fehlerseite für 400, 401, 403, 404, 500, 502, 503 und 504 durch dein eigenes HTML ersetzen, unter Websites, die Website, Erweitert, dann Fehlerseiten. Kapsule bietet Markenbefallene Standard für 404, 500, 502, 503 und 504, wenn du keine hast.
Eine Sache, die es wert ist, gewusst zu werden: eine benutzerdefinierte Fehlerseite behält den echten Statuscode. Ein benutzerdefinierter 404 gibt immer noch 404 zurück. Deine Fehlerseite mit einem 200-Status zu servieren ist ein klassischer Weg, deine Suchranglisten zu zerstören, und es ist absichtlich hier nicht möglich. Siehe Benutzerdefinierte Fehlerseiten.