Discourse und Cloudflare

In dieser Community gibt es viele Diskussionen über die Verwendung von Cloudflare. Einige Leute sagen, es funktioniert einwandfrei und ohne Probleme, während andere warnen, dass der Himmel einstürzt, wenn man es benutzt. In jedem Fall sind die meisten dieser Informationen sehr veraltet, von 2 Jahren bis fast einem Jahrzehnt alt.


Persönlich verwende ich Cloudflare hier im Jahr 2022 ohne Probleme mit Discourse.

Ich minifiere/coche alle Seiten und HTML/CSS/JS vollständig mit Brotli-Kompression. Ich habe nur /admin aus Cloudflare-Performance-Optimierungen ausgeschlossen, als persönliche Präferenz.

Ich habe den Rocket Loader nicht deaktiviert, aber er war standardmäßig bereits deaktiviert. Die einzige weitere Änderung, die ich vorgenommen habe, war das Hinzufügen von:

- "templates/cloudflare.template.yml"

zu meinen app.yml-Einstellungen, um die Benutzer-IPs wiederherzustellen.

Es ist auch erwähnenswert, dass die Website auch funktionierte, bevor ich überhaupt eine einzige Anpassung vorgenommen habe.

7 „Gefällt mir“

Solange Sie anerkennen, dass das, was Sie tun, vollständig nicht unterstützt wird, ist das in Ordnung.

CloudFlare optimiert seine Optimierungen weiter und manchmal verursachen sie keine Probleme, dann bringen sie eine Website zum Erliegen. Für die meisten wäre die Idee, dass ihre Website ohne eigenes Zutun zusammenbricht, ziemlich unerträglich.

Wenn Sie jemals einen Wiederaufbau beobachtet haben, wissen Sie bereits, dass die Minifizierung bereits innerhalb von Discourse stattfindet. CloudFlare minifiziert die Website nicht besser, als sie es bereits selbst tut. Haben Sie die Leistung mit und ohne aktivierte CF gemessen?

Und vergessen Sie nicht, dass CloudFlare Ihre Website tatsächlich verlangsamt, sobald die JavaScript-App in den Browser geladen ist. Jede Menge an Datenverkehr zwischen der App und dem Server muss nun auch das CloudFlare-Netzwerk durchlaufen, was die Anzahl der Netzwerk-Hops und damit die Latenz erhöht.

Aber wenn es für Sie funktioniert, ist das großartig. Stellen Sie einfach sicher, dass Sie es vor der Anforderung von Support ausschalten, da es der erste (und wahrscheinlichste) Schuldige ist.

10 „Gefällt mir“

Ich habe das Gefühl, dass die meiste (wenn nicht sogar die gesamte) Angst vor der Verwendung von Cloudflare mit Discourse auf Probleme aus der Vergangenheit zurückzuführen ist.

Sowohl Cloudflare als auch Discourse haben sich im letzten Jahrzehnt stark weiterentwickelt.

Ich habe umfassende Erfahrungen mit Caching-Problemen im Allgemeinen, und es stimmt, dass Cloudflare in den frühen Tagen viele Skripte kaputt gemacht hat, aber es verhält sich jetzt schon viele Jahre ziemlich gut.

Einige der aggressiveren Caching-Tools brechen definitiv Dinge und erfordern viel Optimierung, damit sie gut funktionieren. Dieses allgemeine Gefühl gilt immer noch.

Sind Sie jedoch sicher, dass die Aussage, dass Cloudflare von Discourse nicht unterstützt wird, immer noch korrekt ist? Discourse verfügt buchstäblich über integrierte Mechanismen zur Handhabung von Cloudflare.

Wie auch immer, nein, ich habe kein Vorher-Nachher auf https://gtmetrix.com/ gemacht, aber für mich ist das einigermaßen unerheblich, da ich andere Gründe habe, Cloudflare zu nutzen als nur die Geschwindigkeit. Solange es also keine dramatische (oder auch nur spürbare) Verlangsamung verursachte, würde ich es sowieso verwenden.

Abschließender Gedanke: Ja, jedes Mal, wenn Sie ein CDN/Caching/Minification/etc.-Tool verwenden, insbesondere wenn Sie unerfahren sind, kann es Dinge kaputt machen. Das gilt für alle Websites, unabhängig davon, wie sie aufgebaut sind. Aber die Vorstellung, dass Cloudflare fast garantiert allen Discourse-Sites erheblichen Schaden zufügt, scheint veraltete Informationen zu sein, die nicht weiter verbreitet werden sollten.

2 „Gefällt mir“

Die CloudFlare-Vorlage ist keine neue Ergänzung, und wenn Sie sich die Quelle ansehen, werden Sie feststellen, dass der einzige Zweck darin besteht, ihre IP-Bereiche abzurufen und nginx zu modifizieren, um sicherzustellen, dass es CF-Connecting-IP als wahre Client-Adresse betrachtet, die durch die Proxy-Funktion der orangefarbenen Wolke verschleiert wird. Es ist nichts Neues, es gibt es seit mindestens sieben Jahren. Sie können Cloudflare verwenden, um den Standort Ihres Servers zu verbergen oder als günstiges CDN für Uploads zu fungieren, aber in beiden Fällen empfehlen wir Ihnen, alle Leistungsfunktionen zu deaktivieren und eine Seitenregel zu verwenden, um das Caching für Ihren Upload-Ordner zu aktivieren.

Welchen Vorteil würde ein Test über GTMetrix zeigen? Ich glaube, Sie haben ein grundlegendes Missverständnis davon, wie Discourse funktioniert, um das anzuführen. Discourse ist keine Website, es ist eine Javascript-Anwendung. Die Navigation auf der Website liefert keine flachen HTML-Seiten an den Browser. Die Javascript-App, die in Ihrem Browser geladen wird, kommuniziert direkt mit dem Server, weshalb bestimmte Seitenelemente zwischen den Klicks nicht neu geladen zu werden scheinen. Die Reaktionsschnelligkeit dieser Anwendung wird nur durch die Serverressourcen und die Latenz zwischen Client und Server bestimmt. CloudFlare kann Ihre Discourse-Instanz nicht beschleunigen, und seine Anwesenheit zwischen den beiden Systemen erhöht die Latenz.

Das oben Genannte basiert auf jahrelanger Erfahrung, nicht auf einem Gefühl. Discourse hat immer noch periodische Probleme mit Cloudflare. Abgesehen davon, dass Ihre Server-IP verschleiert wird und ein wenig Datenübertragung für Uploads gespart wird, gibt es nichts, was Cloudflare tun kann, um eine Discourse-Site zu beschleunigen.

5 „Gefällt mir“

Die CloudFlare-Vorlage ist keine neue Ergänzung, und wenn Sie sich die Quelle ansehen, werden Sie sehen, dass der einzige Zweck darin besteht, ihre IP-Bereiche abzurufen und nginx zu modifizieren, um sicherzustellen, dass es die CF-Connecting-IP als echte Client-Adresse betrachtet, da diese durch das Proxying der orangefarbenen Wolke verschleiert wird. Es ist nichts Neues, es gibt es schon seit mindestens sieben Jahren. Sie können Cloudflare verwenden, um den Standort Ihres Servers zu verbergen oder als günstiges CDN für Uploads zu fungieren, aber in beiden Fällen würden wir empfehlen, alle Leistungsfunktionen zu deaktivieren und eine Page Rule zu verwenden, um das Caching für Ihren Upload-Ordner zu aktivieren.

Richtig, mein Punkt war, dass sie, wenn Cloudflare nicht unterstützt würde, sich nicht die Mühe machen würden, überhaupt eine offizielle Unterstützung dafür hinzuzufügen. Sie hätten auch keine offiziellen Tutorials zur Verwendung. Zugegeben, sie könnten empfehlen, es aus Gründen X, Y und Z in einigen Fällen nicht zu verwenden, aber das ist nicht dasselbe wie etwas, das schlichtweg nicht unterstützt wird. :skull_and_crossbones:

Welchen Nutzen würde ein Test über GTMetrix zeigen? Ich denke, Sie haben ein grundlegendes Missverständnis davon, wie Discourse funktioniert, um das anzuführen. Discourse ist keine Website, es ist eine Javascript-Anwendung. Das Navigieren auf der Website liefert keine flachen HTML-Seiten an den Browser. Die Javascript-Anwendung, die in Ihren Browser geladen wird, kommuniziert direkt mit dem Server, weshalb bestimmte Seitenelemente beim Klicken nicht neu geladen zu werden scheinen. Die Geschwindigkeit dieser Anwendung wird nur durch die Serverressourcen und die Latenz zwischen Client und Server bestimmt. CloudFlare kann Ihre Discourse-Instanz nicht beschleunigen, und seine Anwesenheit zwischen den beiden Systemen erhöht die Latenz.

Ja, ich verstehe, dass Discourse keine Website ist. Es ist eine Plattform zur Bereitstellung von Inhalten wie jede andere Plattform/Software/CMS. Natürlich kann Cloudflare nichts auf Serverebene beeinflussen, was insbesondere für LAMP-Setups gilt. Aber letztendlich muss jede Plattform irgendwann den gesamten clientseitigen Code (HTML/CSS/JS) ausliefern. Natürlich kann GTmetrix keine serverseitige Geschwindigkeit scannen, aber Sie können immer noch einige Dinge über die endgültige Ausgabe Ihres Setups erfahren. Mit anderen Worten, wie der Benutzer das Laden von Inhalten erlebt.

Cloudflare beschleunigt eine Website nicht wirklich sehr stark, bei weitem nicht so dramatisch wie serverseitige Optimierungen und bessere Serverressourcen. Da sind wir uns vollkommen einig. Sein Hauptaugenmerk liegt auf der Optimierung von DNS. Es gibt einige erweiterte CDN-Funktionen für bezahlte Konten, insbesondere bei Bildern, aber ich habe noch nie ein bezahltes Konto genutzt. Ich frage mich, ob es einige dieser erweiterten Funktionen sind, bei denen die Leute die meisten Probleme haben und Hilfe suchen müssen?

Das oben Genannte basiert auf jahrelanger Erfahrung, nicht auf einem Gefühl. Discourse hat immer noch periodische Probleme mit Cloudflare. Abgesehen davon, dass Ihre Server-IP verschleiert wird und ein wenig Datenübertragung für Uploads gespart wird, kann Cloudflare nichts tun, um eine Discourse-Site zu beschleunigen.

Verdammt. Ich wusste, dass ich Ärger bekommen würde, weil ich “Gefühl” gesagt habe, aber es ist nur eine Redewendung. Ich spreche auch aus Erfahrung. :stuck_out_tongue_closed_eyes:

Ich würde die Tatsache nicht in Frage stellen, dass Sie als Leader in der offiziellen Discourse-Community offensichtlich mehr Erfahrung mit Discourse haben und eindeutig alle möglichen verrückten Probleme gesehen haben, die durch Cloudflare verursacht werden.

Abgesehen davon, dass wir uns mit all den Nuancen von Cloudflare/Discourse beschäftigen, bleibe ich bei meinem Hauptpunkt, nämlich dass Cloudflare bei weitem nicht so beängstigend ist, wie die Erzählung in diesem Forum die meisten Leute glauben machen würde.

Das gesagt, verstehe ich auch, dass man Communities verwaltet und offensichtlich nicht jeder ein Entwickler oder auch nur technisch versiert ist. In diesem Sinne kann ich verstehen, warum es ärgerlich wird, wenn man von Leuten überschwemmt wird, die denken, dass Discourse kaputt ist, obwohl es nur Cloudflare oder etwas Ähnliches ist.

3 „Gefällt mir“

Das ist der Punkt. „Nicht unterstützt“ bedeutet nicht „unmöglich“, sondern „Viel Glück damit“. Eine häufige Antwort auf „Es gibt einen Fehler“ lautet: „Verschwindet er, wenn Sie Cloudflare ausschalten?“

Wenn Sie die Dinge beschleunigen möchten, verwenden Sie ein echtes CDN – Aktivieren Sie ein CDN für Ihr Discourse

6 „Gefällt mir“

Oder, weißt du, wenn jemand eine komplett kostenlose Option möchte oder er einfach Cloudflare nutzen möchte, kann er das problemlos tun.

Du zitierst eine Empfehlung von vor fast einem Jahrzehnt. Dinge ändern sich. Ich würde wirklich gerne sehen, dass einer der offiziellen Entwickler sich 2022 dazu äußert. Ich vermute, er würde sagen, dass die Dinge viel stabiler sind, und außerdem ist jede Empfehlung, sich nicht mit JS herumzuschlagen, wahrscheinlich eine Empfehlung für alle CDNs, nicht nur für Cloudflare.

Bitte markieren Sie keine Teammitglieder. Wenn sie sich äußern möchten, werden sie es tun.

3 „Gefällt mir“

???

Ich habe den Ersteller von Discourse markiert. Wir können den ganzen Tag darüber streiten, wo Discourse im Jahr 2022 in Bezug auf Cloudflare steht, aber bis wir es aus erster Hand erfahren, ist es mehr Spekulation als eine definitive Antwort.

Woher sollte er überhaupt wissen, dass jemand nach seinen Gedanken fragt, damit er sich äußern kann, es sei denn, er wird markiert?

Es gab letzte Woche ein Problem, bei dem Leute Anzeigen sahen, die sie nicht sehen sollten, und es war ziemlich klar, dass es ein Problem mit Cloudflare war. Das Ausschalten ist immer eines der ersten Dinge, die man tun sollte. Viele Leute, die hier Unterstützung erhalten, sind absolute Anfänger und es ist das Ziel, die Dinge so problemlos wie möglich zu gestalten. Wenn es für Sie funktioniert, ist das großartig. Wenn Sie auf zwanzig oder mehr Beiträge pro Woche antworten möchten, dann

Aber das stimmt nicht. Wenn Sie ein echtes CDN verwenden, verwenden Discourse-Benutzer es nur für die Dinge, die vom CDN ausgeliefert werden sollten.

Hallo @JammyDodger, ich denke, es ist Zeit für eine Cloudflare-FAQ (obwohl ich es nicht zum ersten Mal vorgeschlagen habe). Sie können Jeff und Sam dazu befragen.

4 „Gefällt mir“

Hier ist die Sache. Caching/Kombinieren/Minifizieren zerstört notorisch JS, unabhängig von der verwendeten Software oder CDN-Kombination. Ich habe dieses häufige Problem mit einem Dutzend anderer Tools/Dienste gesehen. Wenn man es mit Laien zu tun hat, ist allein ihr Browser-Cache ein ständiger Schmerz, über den man sie aufklären muss. Ich habe schon große Software-Communities geleitet; ich bin mir des immer wiederkehrenden Problems sehr bewusst.

Ich frage mich, ob dies wirklich ein spezifisches Cloudflare-Problem ist ODER ob dies ein allgemeines Problem ist, das alle Optimierungstools haben, bei denen sie JS brechen können, und es nur so ist, dass dieses allgemeine Problem aufgrund der Popularität von Cloudflare fälschlicherweise als Cloudflare-Problem missverstanden wird. Macht diese Unterscheidung Sinn?

Auf jeden Fall würde ich mich freuen, wenn sich die offiziellen Entwickler dazu äußern würden, und eine aktuelle FAQ wäre sehr hilfreich. Ich stoße auf viel Widerstand, aber ich versuche nicht, Probleme zu verursachen. Es ist einfach frustrierend, dass die Community voller Widersprüche ist; ich versuche nur herauszufinden, wie die Dinge im Jahr 2022 wirklich stehen.

Aber wenn ich nicht kann, wenn wir nicht können, ist das in Ordnung. Genießen Sie den Rest Ihres Wochenendes, alle zusammen. Ich lasse das arme :horse: jetzt in Ruhe.

2 „Gefällt mir“

Nein, das stimmt nicht. Wir sehen sehr häufig Probleme mit Cloudflare in Kombination mit Discourse.

Es gibt so etwas wie „unterstützt“ nicht. Aber wenn Sie nicht wissen, was Sie tun, kann es Probleme verursachen, und selbst wenn Sie wissen, was Sie tun, können unerwartete Probleme auftreten.

Die Leistungsvorteile von Cloudflare, falls vorhanden, werden gering sein. Die meisten von Discourse bereitgestellten Assets sind gut komprimiert und unveränderlich (d. h. sie werden vom Browser sehr lange zwischengespeichert). Die meisten anderen Inhalte sind nicht zwischenspeicherbar, da es sich um personalisierte Anwendungsdaten handelt.

Das heißt, Cloudflare kann für den DDoS-Schutz sehr nützlich sein.

5 „Gefällt mir“

Das wäre willkommen, da wir unterschiedliche Meinungen von verschiedenen Benutzern haben :person_shrugging:

1 „Gefällt mir“

Wir haben eine FAQ für Cloudflare und wie man es für Discourse (nicht) konfiguriert. Sie gilt auch für selbst gehostete Instanzen.

6 „Gefällt mir“

Ich bezweifle das nicht, aber ich glaube, Sie haben die Unterscheidung verpasst, die ich auf den Grund gehen wollte. Ist es tatsächlich speziell Cloudflare, das das Problem ist, oder ist es wirklich nur die Tatsache, dass Optimierungstools dieser Art leicht JS im Allgemeinen brechen können? Und die meisten Leute verwenden Cloudflare einfach wegen seiner Beliebtheit, was zu einer falschen Vermischung führt.

Es wäre so, als würde man Gmail oder GoDaddy für Probleme verantwortlich machen, die allen E-Mail- oder Hosting-Diensten innewohnen.

Und wenn es ein anderes CDN gäbe, das beliebter wäre als Cloudflare, würden Sie genauso viele seltsame Supportanfragen zu diesem Dienst sehen.

Auch wenn Sie nicht zustimmen, verstehen Sie, was ich meine?

3 „Gefällt mir“

Da wir bestimmte Einstellungen vermeiden müssen, und Meta-Nutzer Dinge sagten wie

Alles, was CloudFlare für Sie tun kann, ist, Ihre IP zu verbergen und als CDN für Ihre Uploads zu fungieren. Die Vorteile sind minimal

und

Die Leistungsvorteile von Cloudflare, falls vorhanden, werden gering sein.

Gibt es eine definitive und einfache Antwort auf die Frage „Wenn keine Geschwindigkeitseinstellungen aktiviert sind, hat Cloudflare einen Vorteil gegenüber Bunny CDN oder Stackpath (oder einem beliebigen „regulären“ CDN, nehme ich an)“?

Ich schwanke immer noch zwischen Bunny, was meine aktuellen CDN-Kosten (Stackpath) erheblich senken würde, und Cloudflare, was in meinem Fall kostenlos wäre (der Domainbesitzer kann mein Forum zu seinem Enterprise-Konto hinzufügen).

Außerdem Dinge, die ich nicht verstehe, weil ich nicht technisch versiert bin.

2 „Gefällt mir“

Es geht nicht nur darum, JS kaputt zu machen. Es geht auch darum, Ports zu proxen und Port 80 unzugänglich zu machen, LetsEncrypt kaputt zu machen und einige dieser Dienste mehr zu cachen, als sie sollten.

Da Cloudflare das größte dieser “Optimierungswerkzeuge dieser Art” ist und weit verbreitet, beliebt und kostenlos ist, drehen sich die meisten Diskussionen darum. Aber ja, Sie haben Recht. Es ist ein Problem von Werkzeugen wie diesem im Allgemeinen.

Also, ja, stimme zu.

Themen wie diese sind oft gefährlich, da die Leute (insbesondere in der “Problem”-Zielgruppe) nicht sehr gut lesen. Es ist, als würde man in einem Thema über die Gefahren von Drogen- oder Alkoholmissbrauch posten und behaupten: “Nein, Leute, es ist nicht nur ein Problem von Drogen und Alkohol, ich nehme Drogen ohne Probleme, und vergesst nicht, Leute: Übermäßiger Konsum jeder Substanz ist gefährlich”. (Ja, ich weiß. Jede Metapher reicht nur so weit, aber es ist das Beste, was mir einfiel).

Und wir können so laut schreien, wie wir wollen, wie gefährlich Dinge sind, aber die Leute werden es trotzdem benutzen.
Deshalb haben wir eine FAQ erstellt :wink:

10 „Gefällt mir“

Eine neue FAQ-Anleitung klingt nach einer großartigen Idee. Der Communiteq-Link war nicht sehr robust.

Hier in diesem Forum machen einige Leute allgemeine Regeln Cache Level: Bypass, Disable Performance, erlauben aber Cloudflare, Bilder oder CSS zu cachen. Ich habe keine offizielle Antwort gesehen, ob das ein Ja oder Nein ist…

Anstatt zu sagen, dass Cloudflare nicht verwendet werden soll, und dann Problemfälle zu bearbeiten, wäre es vielleicht gut, mit dem aufzukommen, was getan werden sollte und was nicht. Dann wird ein schneller Link zu diesem Beitrag in Zukunft diese Fragen beantworten.

Nur die Meinung eines Mannes.

1 „Gefällt mir“

@RGJ — Danke! Viele Leute sehen oder verstehen vielleicht nicht den Sinn meiner Unterscheidung oder welchen Unterschied sie macht, aber für mich bringt sie eine große Klarheit. Ich bin sehr frustriert ohne Klarheit, denn ohne diese anfängliche, solide Grundlage weiß ich nicht, welchen Weg ich einschlagen soll, um mich weiter auf ein bestimmtes Thema zu konzentrieren und ein besseres Verständnis dafür zu erlangen.

1 „Gefällt mir“

Wenn Sie spezifische Kommentare haben, würde ich sie gerne hören.

Was das Caching angeht, würde ich sagen, es ist kein „Juhu“ oder „Nein“, sondern eher ein „Meh“:

1 „Gefällt mir“