Aktivieren Sie ein CDN für Ihr Discourse

So files will not synchronise with my system, cloudfront just cache them. Am i true?

3 „Gefällt mir“

Yes. That is correct. The CDN gets from your site just the assets that are requested of it.

Discourse will push to S3 static assets (like css and javascript) as well I uploads.

4 „Gefällt mir“

Is it possible to use cloudflare rules to cache static assets like css and javascript?

2 „Gefällt mir“

Yes, we use it that way and it works well. Just be very careful to disable any javascript optimizations. You can see our setup here:

4 „Gefällt mir“

Thanks for the response.

I have already added the second and third rule but I didn’t get the first rule. What’s the need for 301 redirect??

2 „Gefällt mir“

You don’t need it; it’s in the description.

3 „Gefällt mir“

Thanks for the response. What about the static assets like css and javascripts? Any rule possible for css and javascript??

2 „Gefällt mir“

I didn’t test that. I’m not sure that would work. At the very least you’d have to clear your Cloudflare cache after every rebuild.

2 „Gefällt mir“

It’s okay with me to clear the cache after every rebuild. What else would possibly go wrong if I make a rule to cache everything in https://myforum.com/assets/ ? Will this anyway affect user login? If you give a nod, I will test it for a week and report. I still have one unused rule.

2 „Gefällt mir“

Just to clarify, is it correct we do not use this field (as well as CDN URL) if we are using cloudflare CDN?

I have setup cloudflare.template in app.yml as per docs.

Is any further config needed if using cloudflare?

1 „Gefällt mir“

Ich habe StackPath gerade erfolgreich als CDN verwendet. Funktioniert wie erwartet!

2 „Gefällt mir“

Ist das heutzutage immer noch der Fall?

Aus dem Jahr 2019:

Es scheint, dass wir besonders vorsichtig sein müssen und einige der Vorteile von Cloudflare verlieren.

Aus dem Jahr 2020:

Aus dem Jahr 2021:

Ist Cloudflare also heute zuverlässig und effizient mit Discourse? Minimiert die Deaktivierung der Funktion „Rocket Loader“ die Vorteile?

Ich habe darüber nachgedacht, von Stackpath zu Bunny CDN zu wechseln, aber der Inhaber meiner Forendomäne und ehemalige Administrator hat ein Cloudflare Enterprise-Konto (er ist der Inhaber von tinyURL), zu dem er die Domäne kostenlos hinzufügen könnte (Looking for a decrease in the forum fees in the future - #6 by Gilby - Forum Feedback - Unicyclist.com).

Daher frage ich mich, ob es richtig, schmerzlos und effektiv ist, Cloudflare anstelle von Bunny CDN zu verwenden.

2 „Gefällt mir“

Wenn Sie viele Bilder haben, sind die Kosten für die direkte Anbringung von SSDs weitaus höher als die entsprechenden S3-Kosten.

S3 benötigt eine CDN davor, um kosteneffektiv zu sein, da Ihnen Ein- und Ausgang in Rechnung gestellt werden, aber es ist immer noch weitaus billiger, als einfach mehr schnelle SSDs anzubringen. Cloudflare kann S3 vorschalten, aber Asset-Caching ist wirklich die einzige Funktion, die Sie zuverlässig nutzen können. Wenn Sie Cloudflare zwischen dem Client und dem Anwendungsserver platzieren, erhöht sich auch die Anzahl der Hops und die Anwendungslatenz steigt. Es ist keine magische Lösung.

2 „Gefällt mir“

Wir sind nicht bildlastig. Das Ziel des CDN wäre, dass die Assets für jeden Benutzer schnell geladen werden, da unsere Community international ist (hauptsächlich USA und Europa).

Wir verwenden S3, aber nur zur Speicherung von Backups.

1 „Gefällt mir“

Kurze Frage. Ist ein erneutes Backen nach der Änderung unseres CDN obligatorisch? Oder nur, wenn sich die CDN-URL ändert? Oder wird es gar nicht benötigt?


Bearbeiten: Oder ist es einfach möglich, die alten URLs in den gebackenen Beiträgen mit einem Rails-Skript durch die neuen zu ersetzen?

Zum Beispiel, wenn ich einen Beitrag habe, der Folgendes enthält:

<img class="ytp-thumbnail-image"
src="https://f5i4i8k5.stackpathcdn.com/uploads/default/original/3X/f/3/f3bc5ab19cc0394f33fd008e90ca06e081886a0b.jpeg"
title="Riding a unicycle part 76: Sullivan Canyon - Los Angeles"
width="480"
height="360"
loading="lazy"
style="aspect-ratio: 480 / 360;">

Könnte ich eine Suche und Ersetzung von Zeichenfolgen von f5i4i8k5.stackpathcdn.com zu newcdn.unicyclist.com durchführen, ohne etwas zu beschädigen? Es scheint sicher zu sein, aber ich möchte sicher sein, was ich tue.

Es macht mir nichts aus, alle meine Beiträge erneut zu backen, aber das Problem, auf das ich beim ersten Mal gestoßen bin, ist, dass ich Tausende von eingebetteten YouTube-Videos habe und meine IP während des erneuten Backens von YouTube wegen zu vieler Anfragen an YouTube gesperrt wurde.

Wenn es also eine sichere Alternative zum erneuten Backen aller Beiträge gibt und ich mit demselben ärgerlichen Problem konfrontiert werde, würde ich es vorziehen, die Alternative zu wählen…

3 „Gefällt mir“

Es gibt eine Rake-Aufgabe, die eine Ersetzung durchführt. Ich denke, dass deren Ausführung sicher und eine gute Idee ist. Eine Zeichenkette in allen Beiträgen ersetzen ist das, wonach Sie suchen, denke ich.

2 „Gefällt mir“

Hallo Jay,

Ich bin mir nicht sicher, ob ich die Rake-Aufgabe verwenden soll.
Die CDN-URLs scheinen eher in den gekochten Feldern als in den rohen Feldern vorhanden zu sein (es sei denn, die Nachricht wurde per E-Mail gesendet).
Nach meinem Verständnis sucht post:remap nur im rohen Feld nach der Zeichenfolge.

Wenn das Ersetzen der CDN-URLs sowohl in den rohen als auch in den gekochten Feldern sicher ist, würde ich wohl ein benutzerdefiniertes Rails-Skript verwenden?

2 „Gefällt mir“

Sie haben Recht. Es gibt noch eine weitere . . . Sache . . ., die eine Zeichenkette in allen Feldern der Datenbank ersetzt. Das ist die, nach der Sie suchen. Entschuldigung, aber ich kann sie im Moment nicht finden. Es gibt einige Themen zum Verschieben von einem S3, aber es scheint kein howto zu geben.

2 „Gefällt mir“

Vielen Dank für diesen Hinweis!

Ich vermute, es ist das?

DbHelper.remap('from', 'to')

Gefunden auf Rebaking old posts won't pull new S3 CDN URL after S3 bucket rename - #10 by Brad_Wood

Und hier verwendet:

Wenn es eine sichere Alternative zu einem Rebake beim Wechsel unseres CDN-Dienstes ist, wäre eine #howto-Anleitung in der Tat nett.

3 „Gefällt mir“

Oh, Hurra. Danke, dass du es mich wissen lässt. Ich dachte, es würde dir reichen, um es zu finden. Schön, dass du es geschafft hast.

3 „Gefällt mir“