So files will not synchronise with my system, cloudfront just cache them. Am i true?
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.
Is it possible to use cloudflare rules to cache static assets like css and javascript?
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:
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??
You don’t need it; it’s in the description.
Thanks for the response. What about the static assets like css and javascripts? Any rule possible for css and javascript??
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.
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.
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?
Ho appena utilizzato con successo StackPath come CDN. Funziona come previsto!
È ancora così al giorno d’oggi?
Dal 2019:
Sembra che dobbiamo fare molta attenzione e che perdiamo alcuni dei vantaggi di Cloudflare.
Dal 2020:
Dal 2021:
Quindi, Cloudflare è affidabile ed efficiente con Discourse oggi? La disattivazione della funzionalità “Rocket Loader” riduce al minimo i vantaggi?
Stavo pensando di passare da Stackpath a Bunny CDN, ma il proprietario del dominio del mio forum ed ex amministratore ha un account Cloudflare enterprise (è il proprietario di tinyURL tra l’altro) sul quale potrebbe aggiungere il dominio gratuitamente (Looking for a decrease in the forum fees in the future - #6 by Gilby - Forum Feedback - Unicyclist.com).
Quindi, mi chiedo se sia corretto, indolore ed efficace utilizzare Cloudflare invece di Bunny CDN.
Se si utilizzano molte immagini, ciò che si spenderà per aumentare direttamente gli SSD collegati sarà molto più costoso dei costi equivalenti di S3.
S3 necessita di una CDN davanti per essere conveniente poiché si paga per l’ingress e l’egress, ma è comunque molto più economico che aggiungere semplicemente più SSD ad alta velocità. CloudFlare può essere posizionato davanti a S3, ma la memorizzazione nella cache degli asset è l’unica funzionalità che si può utilizzare in modo affidabile. Posizionare CloudFlare tra il client e il server dell’applicazione aumenterà anche il numero di hop e aumenterà la latenza dell’applicazione. Non è una soluzione magica.
Non siamo ricchi di immagini. L’obiettivo della CDN sarebbe quello di far caricare velocemente gli asset a ogni utente, dato che la nostra community è internazionale (principalmente USA ed Europa).
Usiamo S3, ma solo per archiviare i backup.
Domanda veloce. È obbligatorio un rebake dopo aver cambiato il nostro CDN? O è solo se l’URL del CDN è diverso? O non è necessario affatto?
modifica: o è semplicemente possibile sostituire i vecchi URL nei post cotti con quelli nuovi con uno script rails?
Ad esempio, se ho un post che contiene:
<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;">
Potrei fare una ricerca e sostituzione delle stringhe da f5i4i8k5.stackpathcdn.com a newcdn.unicyclist.com senza rompere nulla? Sembra sicuro, ma voglio essere sicuro di quello che faccio.
Non mi dispiace rifare il rebake di tutti i miei post, ma il problema che ho affrontato la prima volta è che ho migliaia di video di YouTube incorporati, e il mio IP è stato messo in blacklist da YouTube durante il rebake a causa di troppe richieste a YouTube.
Quindi, se c’è un’alternativa sicura al rebake di tutti i post e affrontare lo stesso fastidioso problema, preferirei optare per l’alternativa…
C’è un rake task che farà una sostituzione. Penso che eseguirlo sia sicuro e una buona idea. Sostituisci una stringa in tutti i post è quello che stai cercando, penso.
Ciao Jay,
Non sono sicuro dell’uso del rake task.
Gli URL CDN sembrano essere presenti nei campi cooked piuttosto che nei campi raw (a meno che il messaggio non sia stato inviato via email).
Da quanto ho capito, post:remap cerca la stringa solo nel campo raw.
Se sostituire gli URL CDN sia nei campi raw che cooked è sicuro, immagino che dovrei procedere con uno script rails personalizzato?
Hai ragione. C’è un’altra . . . cosa . . . che sostituirà una stringa in tutti i campi nel database. È quella che stai cercando. Mi dispiace ma non riesco a trovarla al momento. Ci sono alcuni argomenti sulla migrazione da un s3, ma non sembra esserci un howto.
Grazie per questo indizio!
Immagino sia questo?
DbHelper.remap('from', 'to')
Trovato su Rebaking old posts won't pull new S3 CDN URL after S3 bucket rename - #10 by Brad_Wood
E usato qui:
Se è un’alternativa sicura a un rebake quando si cambia il nostro servizio CDN, un howto potrebbe essere davvero utile.
Oh evvai. Grazie per avermelo fatto sapere. Pensavo che ti sarebbe bastato per trovarlo. Sono contento che tu l’abbia capito.