Zu viele Weiterleitungen: Die Schleife finden und auflösen
Zu viele Weiterleitungen (ERR_TOO_MANY_REDIRECTS)
Zu viele Weiterleitungen: ERR_TOO_MANY_REDIRECTS beheben | We.Inc
Füge deine Weiterleitungsregeln ein und sieh zu, wie sie Schritt für Schritt laufen, bis die Schleife sichtbar wird. Behandelt HTTPS-Schleifen hinter einem Proxy, www-Schleifen und Cookie-Schleifen, mit Lösungen.
ERR_TOO_MANY_REDIRECTS erscheint, wenn eine Seite den Browser immer wieder an eine andere Adresse schickt, die ihn irgendwann zurückschickt, sodass die Kette nie endet und der Browser aufgibt. Meist erzwingen zwei Ebenen HTTPS oder www in entgegengesetzte Richtungen. Die Lösung: Genau eine Ebene ist für jede Weiterleitung zuständig.
Die Schleifen hinter den meisten Fehlern wegen zu vieler Weiterleitungen
Schleife
Wie sie entsteht
Lösung
HTTPS hinter einem Proxy
Der Proxy spricht reines HTTP mit dem Server, der wieder auf HTTPS weiterleitet
Anhand von X-Forwarded-Proto weiterleiten oder nur am Proxy weiterleiten
www gegen Domain ohne www
Eine Ebene fügt www hinzu, eine andere entfernt es
Einen Host wählen und an einer Stelle darauf weiterleiten
Cookie- oder Login-Schleife
Die Login-Seite schickt dich zur Kontoseite, die dich zurückschickt, weil das Cookie nie gespeichert wurde
Domain-, Path- und Secure-Flags des Cookies prüfen
Schrägstrich am Ende
Eine Regel fügt einen Schrägstrich hinzu, eine andere entfernt ihn
Für jede URL eine Form festlegen
Schreibe jede Weiterleitung deiner Website in eine eigene Zeile als from -> to, gib die Startadresse ein, und der Simulator folgt der Kette so, wie es ein Browser tun würde. Er stoppt, wenn sich eine Adresse wiederholt, wenn keine Regel passt oder nach 20 Schritten, dem Limit aus dem Fetch Standard.
Liste jede Weiterleitung auf, die du kennst: Serverkonfiguration, Hosting-Dashboard, CDN-Regeln, App-Code.
Schreibe sie zeilenweise als vollständige Adressen, verbunden mit ->.
Gib die Adresse ein, die im Browser fehlschlägt, und lies die Liste der Schritte.
Entferne oder ändere die Regel, die die Kette zu einer bereits besuchten Adresse zurückschickt.
Lösche die Cookies der Website, bevor du erneut testest. Ein veraltetes Cookie kann eine Login-Schleife am Laufen halten, obwohl die Konfiguration schon korrigiert ist.
Browser cachen 301-Weiterleitungen. Teste Korrekturen in einem privaten Fenster oder nutze curl -I, um jede Antwort ohne Cache zu sehen.
Leite direkt auf die endgültige Adresse weiter. http://example.com sollte in einem Schritt zu https://www.example.com gehen, nicht über zwei.
Wenn ein CDN oder Host einen Schalter zum Erzwingen von HTTPS anbietet, nutze entweder ihn oder deine Serverregel, nie beide, ohne zu prüfen, wie sie zusammenwirken.
Häufige Fragen
Was bedeutet die Meldung, man sei zu oft weitergeleitet worden?
Diese Meldung und der Fehlercode ERR_TOO_MANY_REDIRECTS beschreiben dasselbe: Die Website hat mit einer Weiterleitung nach der anderen geantwortet, und der Browser hat aufgehört zu folgen. Auf deinem Computer ist nichts kaputt, auch wenn ein veraltetes Cookie Teil der Schleife sein kann.
Wie vielen Weiterleitungen folgt ein Browser?
Der Fetch Standard, den Browser umsetzen, liefert einen Netzwerkfehler, sobald die Zahl der Weiterleitungen einer Anfrage 20 erreicht.
Warum verursacht erzwungenes HTTPS hinter einem Proxy oder CDN eine Schleife?
Der Besucher verbindet sich per HTTPS, aber der Proxy leitet die Anfrage über reines HTTP an deinen Server weiter. Dein Server sieht HTTP und leitet auf HTTPS weiter, und der Kreislauf beginnt von vorn. Cloudflare dokumentiert genau diese Schleife für seinen Verschlüsselungsmodus Flexible.
Hilft das Löschen von Cookies gegen zu viele Weiterleitungen?
Nur wenn ein Cookie Teil der Schleife ist, etwa eine Login-Sitzung, die nie gespeichert wird. Liegt die Schleife in den Serverregeln, ändert das Löschen von Cookies nichts.
Kann eine Weiterleitungsschleife der SEO schaden?
Eine Seite, die in einer Schleife steckt, lädt nie, also können auch Crawler sie nicht lesen. Behebe Schleifen schnell und halte Weiterleitungsketten kurz.
Warum Schleifen in Ebenen entstehen
Eine moderne Website hat oft drei oder vier Stellen, die weiterleiten können: das CDN, die Hosting-Plattform, den Webserver und die App. Jede wird in einer eigenen Oberfläche konfiguriert, daher können sich zwei davon unbemerkt beim Schema, beim Host oder beim Schrägstrich am Ende widersprechen.
Der Simulator oben bildet genau das ab. Trag die Regeln aller Ebenen in dieselbe Liste ein, und der Widerspruch wird zu einem sichtbaren Kreislauf.
Das Schema-Problem hinter Proxys
Endet TLS an einem Proxy oder Load Balancer, sieht dein Server immer nur reines HTTP. Eine Regel, die alles auf HTTP zu HTTPS weiterleitet, greift dann bei jeder Anfrage, auch bei solchen, die für den Besucher HTTPS waren. Proxys senden das ursprüngliche Schema im Header X-Forwarded-Proto, also sollte der Server stattdessen diesen prüfen.
Konfiguration, die genau einmal weiterleitet
nginx terminiert TLS selbst
Ein Server-Block fängt jede HTTP-Anfrage ab und schickt sie direkt zum endgültigen Host.
nginx hinter einem Proxy, der TLS beendet
Nur weiterleiten, wenn das ursprüngliche Schema des Besuchers, das der Proxy in X-Forwarded-Proto sendet, http war.
Jeden Schritt in der Kommandozeile sehen
-I fragt nur die Header ab, -L folgt Weiterleitungen. Jeder Block in der Ausgabe ist ein Schritt.
Simulator für Weiterleitungsschleifen
Weiterleitungsregeln, eine pro Zeile (from -> to)
Startadresse
Schritte, denen der Browser folgen würde
Schleife: Die Kette kehrt zu {v} zurück, daher bricht der Browser mit zu vielen Weiterleitungen ab.
Keine Schleife: Die Kette endet nach {n} Weiterleitungen bei {v}.
Die Kette hat {n} Schritte überschritten, ohne zu enden, daher gibt der Browser auf.
Keine Regel passt zur Startadresse, daher lädt sie ohne Weiterleitung.