Bitte lies Dir den Disclaimer durch, bevor Du eine Anleitung umsetzt...

Haftungsausschluss / Disclaimer

Holter-di-Polter: 404 page not found

Autsch!

Stell ich gestern noch die Datenbanken um und dachte, wenn ich schon dabei bin, nehme ich das Upgrade von Traefik v2.1 auf v2.2 auch gleich mit…

Aber wie heißt es doch so schön: „Mensch dachte, Gott lachte!“

Gestern prüf ich noch, ob schon alles wieder da ist. Seiten laufen.
Geh ich ins Bett und schlafe den Schlaf der Gerechten.
Schau ich heute auf die Seiten, bekomm ich einen „404 page not found“ Fehler. Und der kommt von Traefik, weil ich das beim Testen schon öfter gesehen hab…

© Warner Bros.

Da bleibt einem erst mal das Herz stehen. Sind ja auch ein paar wichtige Sachen dabei. Uff! Montag der 13te – war ja klar…
Also auf den Server drauf und Traefik neu gestartet:

docker-compose -f ~/docker/traefik-v2/docker-compose.yml down && docker-compose -f ~/docker/traefik-v2/docker-compose.yml up -d

Fünf Sekunden warten, Strg+F5 Reload im Browser. Seiten laufen wieder… Uuuuufff!

Erleichterung macht sich breit. Aber auch Selbstzweifel und die Frage, was das war und woher das gekommen ist. Da muss Traefik im laufenden Betrieb irgendwann die Seiten abgeworfen haben. Und das ist sehr, sehr spooky. Das Log von Traefik hat leider nichts verzeichnet, also war das kein Fehler im herkömmlichen Sinn. So was ist lästig.

Da bleibt nicht viel übrig außer das zu beobachten und im Zweifel dann zurück auf die v2.1 zu wechseln, die ja bis jetzt einwandfrei gearbeitet hat.

Ein mulmiges Gefühl bleibt aber trotzdem. Das war das erste Mal seit guten fünf Jahren, dass mir der laufende Stack auf einem Produktiv-System hängen geblieben ist. So was darf eigentlich nicht sein. Dafür hab ich ja den Testserver – und auf dem ist Traefik v2.2 ein paar Wochen ohne Probleme gelaufen…

Manchmal steckt man wohl einfach nicht drin :/

Nachtrag – Memo an mich:

Es ist keine einzige Ausfallmeldung per Mail aufgelaufen, dass eine der Seiten offline wäre. Was sie ja – rein praktisch gesehen – auch nie waren. Die 404er Fehlermeldung wurde ja perfekt angezeigt. Und das hat dem Tool wohl gereicht anzunehmen, dass die Seiten alle erreichbar sind und prima laufen.

Wird wohl Zeit, dass ich mich da nach einer anderen Lösung umschaue. Eine, die nicht nur die generelle Erreichbarkeit der Seite prüft, sondern beispielsweise eine spezielle Seite wie das Impressum öffnet und Alarm schlägt, falls das nicht erreichbar ist…

Nachtrag 2 – Offenbar hats auch andere erwischt…

https://community.containo.us/t/consolidated-404-issue-thread-in-versions-since-2-2-1/6865/3

Da wird breit über das Problem diskutiert. Offenbar hat sich in Traefik ab v2.2.2 was eingeschlichen, da die Configs vorher einwandfrei gelaufen sind. Ich verwende schon v2.2.4, darum nehme ich an, dass der Fehlerteufel in der Version leider immer noch aktiv ist :/
Aber immerhin ist die Debatte am Laufen und ich bin mit dem Fehler nicht alleine. Das ist ja schon mal was. Jetzt kann man davon ausgehen, dass daran gearbeitet wird.

Es wird immer seltsamer: Die Logs maulen mich an, dass eine neue Version 2.2.5 verfügbar sei und ich doch updaten möchte:
level=warning msg=“A new release has been found: 2.2.5. Please consider updating.“
Aber ein „pull“ sagt, dass die v2.2.4 aktuell ist.
Argl…

Auf dem Testserver probiere ich gerade den „Workaround“, man soll in der traefik.yml unter „global“ den Punkt „insecureSNI: true“ anhängen. Das provoziert folgenden Log-Eintrag:
level=warning msg=“With insecureSNI enabled, router rules do not prevent domain fronting techniques. Please use HostHeader and HostSNI rules if domain fronting is not desired.“
„domain fronting“… Was ist jetzt das schon wieder?
Immer wieder neues Zeugs. Das Leben als Admin ist und bleibt spannend…

Nachtrag 3 | 14.07. – UUps, I did it again…

Wach ich wieder auf, schau auf meine Seiten, und wir sehen… 404 page not found!

Das Einzige, was das Log dazu meint, ist level=warning msg=“Could not retrieve CanonizedHost, rejecting „
Also hilft das „0.0.0.0“ vor den Port stellen nicht wirklich :/

That’s it. Auf den Produktivservern habe ich Traefik wieder auf v2.1 downgegradet. Damit sollten die wieder stabil laufen und nicht dauernd meine Seiten abwerfen.

Derweil ist die Seite auf dem Testserver noch erreichbar. Eventuell ist tatsächlich dieses „domain fronting“ bzw. der Mechanismus von Traefik gegen dieses Ding ein wenig buggy.

Das ist halt der Nachteil von „bleeding edge“… Wenn wir ganz vorne mit dabei sind, erwischt uns auch – selten, aber eben hin und wieder – so eine Sache, die nicht voll ausgetestet worden ist.

Wobei… Wenn ich so darüber nachdenke….

Das war ja der Hauptgrund, warum ich damals von JWilders Reverse-Proxy weg und zu Traefik gegangen bin: Stabiler, breiterer Programmierer-Stamm, höhere Nutzerzahlen. Ausfallsicher. Yeah, „Mission accomplished“, hätt ich gesagt. :(

Nachtrag 4 | 14.07. spät nachts – Traefik v2.2.5

Max hat mich gerade darauf hingewiesen, dass Traefik jetzt in v2.2.5 vorliegt und in den Release Notes steht, dass der „Domain fronting fix“ zurückgezogen wurde.

ABER wenn wir das „insecureSNI: true“ in der global-Config drin haben und auf v2.2.5 updaten, dann startet Traefik in einer Endlos-Schleife und bricht immer wieder zusammen. Wir müssen das „insecureSNI: true“ unbedingt auskommentieren, damit der neue Traefik startet.

Schauen wir mal, ob morgen die Seiten auf dem Testserver noch erreichbar sind. Hoffen wir, dass dieser lästige Bug gefixt worden ist :)
Wir sehen uns morgen…

Nachtrag 5 | 15.07. morgens früh – System läuft…

Die Seiten auf dem Testserver sind heute morgen noch alle erreichbar. Ob es das jetzt war?
Weiß nicht, ob ich mich trauen soll, auf den Produktivmaschinen umzustellen. Bin da jetzt echt der Schisser. Aber ich meine, ich lass das noch eine Woche auf v2.1 laufen und lese die Foren, bevor ich umstelle und wieder Ausfälle hab…

Anzeige *

4 Kommentare zu „Holter-di-Polter: 404 page not found“

    1. Peter Fiedler

      Das ist tatsächlich unglaublich unspektakulär…
      Einfach im ~/docker/traefik-v2/docker-compose.yml die „image: traefik:v2.1“ auf „image: traefik:v2.2“ umstellen.

      Dann ein „docker-compose -f ~/docker/traefik-v2/docker-compose.yml pull“,
      „docker-compose -f ~/docker/traefik-v2/docker-compose.yml down“ und
      „docker-compose -f ~/docker/traefik-v2/docker-compose.yml up -d“

      Und schon rennt Traefik v2.2 :)

      Sollte nun mit der v2.2.5 auch vernünftig gehen. Mein Testserver ist durchgelaufen und Max hat auch bestätigt, dass sein Server ab v2.2.5 wieder normal läuft.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Verwendung
von Cookies

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen zu Cookies erhalten Sie in unserer Datenschutzerklärung.

Scroll to Top