Wir haben unseren Server von einem VPS-Anbieter zu einem anderen umgezogen und die Instanz über launcher rebuild auf die neueste Version aktualisiert, von 3.5.0.beta3 auf 3.5.0.beta4.
Die Instanz lief immer einwandfrei hinter Cloudflare, aber jetzt führt der Versuch, darauf zuzugreifen, zu einer endlosen Ladeanimation mit 5 Punkten.
Ich habe einen Hosts-Dateieintrag auf meinem lokalen System, um Cloudflare zu umgehen, da mein ISP (Deutsche Telekom AG) schlechte Peering-Richtlinien hat, sodass der Zugriff über Cloudflare zeitweise sehr schlecht ist. Daher habe ich das Problem zunächst nicht bemerkt, da der Zugriff ohne Cloudflare problemlos funktioniert. Dann habe ich die Instanz aktualisiert und bin mir daher nicht sicher, ob der geänderte VPS oder das Discourse-Upgrade die relevante Änderung war. Ich habe über VPN und Mobilfunknetz sichergestellt, dass das Problem jetzt wirklich Cloudflare selbst ist und nicht das schlechte Peering meines ISPs, und auch andere Benutzer haben das gleiche Problem. Sowohl der alte als auch der neue VPS verfügen über IPv6, und das gesamte System ist exakt dasselbe, als Roh-Image-Datei übertragen.
Es gibt keine Fehlermeldungen, weder im Browser (Konsole), noch beim Proxy des Host-Systems, noch bei Nginx im Container, noch bei Rails oder anderswo. Die HTML-Dokumente und mehrere Skripte werden einwandfrei geladen, und wenn man sie mit denen vergleicht, die beim Umgehen von Cloudflare geladen werden, sieht man, dass alles (was ich überprüft habe) identisch ist. Auch die Antwort-Header sehen größtenteils gleich aus, abgesehen von einigen Cloudflare-spezifischen. Die letzten Dinge, die geladen werden, ist der Mini-Profiler:
Natürlich hat das Leeren des Browser-Caches, die Verwendung von privaten Fenstern usw. nichts geändert. Auch das Leeren/Deaktivieren des Cloudflare-Caches hilft nicht, sodass der Cache nicht das Problem ist. Ich habe den CF-Cache vorübergehend vollständig für das gesamte Forum deaktiviert.
Bemerkenswert ist, dass das Forum hinter einem Apache-Proxy auf dem Host unter einem Unterpfad läuft, gemäß dieser Anleitung: Serve Discourse from a subfolder (path prefix) instead of a subdomain
Zuvor haben wir nur einen ln -s . forum Symlink anstelle der Uploads/Backups Symlinks erstellt und die Anweisungen doppelt überarbeitet, was jahrelang gut funktionierte (und auch jetzt ohne Cloudflare), aber im Rahmen meiner Fehlersuche habe ich diese Anweisungen übernommen, um sicherzustellen, dass der interne Proxy alle Regeln wie beabsichtigt anwendet. Vertrauenswürdiger Header ist CF-Connecting-IP, obwohl ich auch cloudflare.template.yml aktiviert habe, auch wenn sich dadurch Dinge etwas verdoppeln. Und ich habe auch versucht, verschiedene Teile dieser Vorlagen und der obigen Anweisungen hin und her zu ändern, auch um zu prüfen, ob die Proxy-IP-Header einen Unterschied machen, da das Fehlen von CF-Connecting-IP eine Sache ist, wenn man Cloudflare umgeht.
An diesem Punkt bin ich völlig ratlos, habe keine einzige Spur, woher das Problem kommen könnte, keine einzige damit zusammenhängende Protokoll-/Ausgabe irgendwo. Über Cloudflare hängt Discourse einfach in der Ladeanimation ohne weitere Spuren fest.
Ich hoffe, jemand hat eine Idee, wie man das debuggen kann, oder ob es zwischen 3.5.0.beta3 und 3.5.0.beta4 eine Änderung gab, die damit zusammenhängen könnte. Ich schätze, eine Herabstufung ist problematisch?
Dies ist die Instanz: https://dietpi.com/forum/
EDIT: Ich habe Cloudflare vorerst deaktiviert. Aber es gibt einen CNAME, der immer noch über Cloudflare läuft, sodass diese beiden verglichen werden können: https://www.dietpi.com/forum/


