Abilita una CDN per il tuo Discourse

Quindi desideri utilizzare una CDN per velocizzare l’accesso globale alle risorse comuni sul tuo forum Discourse? Potresti voler fare il grande passo e seguire le istruzioni su Set up file and image uploads to S3 (vedi anche Configure an S3 compatible object storage provider for uploads).

Se desideri una CDN senza la complessità aggiuntiva di S3 e l’avere due CDN, questa è la guida che fa per te. La CDN ridurrà parte del carico sul tuo server consentendo alla CDN di servire tali risorse in modo che il server non debba farlo. Può anche velocizzare le cose consegnando i file da una posizione più vicina all’utente finale.

Registrati con la CDN di tua scelta – CDCK/discourse.org ha utilizzato e raccomanda vivamente Fastly.

La configurazione sarà simile a questa:

Ciò che stai cercando sono tre impostazioni principali:

  1. L’indirizzo di origine (origin address), che è l’URL in cui si trova attualmente il tuo forum discourse.example.com. È qui che la CDN preleverà tutti i suoi contenuti originali alla prima richiesta.

  2. Il CNAME, che è il nome “amichevole” per la tua CDN che imposterai nel tuo DNS, ad esempio discourse-cdn.example.com

  3. L’URL della CDN (CDN URL), che è il nome “meno amichevole” da cui verranno provenienti gli asset CDN memorizzati nella cache tramite la rete mondiale di server distribuiti della CDN. Sarà simile a 637763234.cdn-provider.com

Dovrai modificare il tuo DNS per mappare il CNAME all’URL della CDN, in questo modo:

discourse-cdn.example.com IN CNAME 637763234.cdn-provider.com

(Una volta modificato il DNS, concedi un po’ di tempo per la propagazione.)

La parte di configurazione effettiva di Discourse è piuttosto semplice. Decommenta la riga della CDN nel tuo app.yml e aggiornala con il CNAME che hai appena impostato nel tuo DNS:

## L'indirizzo CDN http o https per questa istanza Discourse (configurata per il pull)
DISCOURSE_CDN_URL: https://discourse-cdn.example.com

:warning: L’URL della CDN deve includere un protocollo (https:// o http://). Gli URL relativi al protocollo (che iniziano con //) non sono più supportati e causeranno l’interruzione della compilazione del container.

(Se non vedi questa riga nel tuo app.yml, aggiungila sotto le altre variabili DISCOURSE_)

Come per qualsiasi altra modifica al tuo app.yml, devi ricostruire il container per riflettere le modifiche:

./launcher rebuild app

Una volta ricostruito, naviga verso la tua istanza Discourse nel browser. Visualizza la sorgente e cerca “cdn”. Vedrai che gli asset del sito web provengono ora dalla tua CDN:

<script src="https://discourse-cdn.codinghorror.com/assets/preload_store-4ea79c2f435becca86ac97a9c038f9c7.js"></script>
<script src="https://discourse-cdn.codinghorror.com/assets/locales/en-7084a68855205a9128245d2d0ce94ed9.js"></script>

Questo argomento copre lo scenario più comune di accelerazione degli asset statici. Consulta questo argomento per l’accelerazione CDN dell’intero sito (sia dinamica che degli asset statici) (come fornito da Cloudflare). Cloudflare funziona in modo diverso da una CDN tradizionale, quindi questo non è un argomento appropriato per discutere di Cloudflare.

Altre CDN segnalate come funzionanti includono:

43 Mi Piace
Full site CDN acceleration for Discourse
Azure Backup/CDN Integration
Downloading remote images disabled due to disk space
How do I change the legacy CDN URLs of images in posts?
Add a new site (android) 'was not found'
CloudFront not caching static files
How to enable AWS CDN to accelerate the discourse service
Cloudfront cdn with discourse?
Discourse load balancer encounters problems, hoping to help
How to solve super slow loading time for site?
S3 image bandwidth costs are getting annoying
Varnish config for discourse
How to add AWS Cloudfront as a Discourse CDN
I can't login to admin after backup due to Cloudflare
Forum not working after configuring CDN (ERR_CERT_COMMON_NAME_INVALID)
Change image folder to symlinked folder
Minimum server size based on backup?
How to add AWS Cloudfront as a Discourse CDN
Blank login and signup page
Understanding Uploads, Images, and Attachments
My discourse speed is very slow
MKJ's Opinionated Discourse Deployment Configuration
Uploads Subdomain For Cloudflare
How to install discourse without ssl?
How might we better structure #howto?
Conserving unicorns by serving images with nginx?
Discourse & Cloudflare
Mobile app URL issues
Forum does not work
How to make Discourse faster for image-heavy communities?
Rebuilds taking a long time with a large number of uploads (chown performance)
Latest commits in v3.3.0.beta3-dev seems to break Discourse
Using Discourse with Cloudflare: Best Practices
Optimizing Site For Speed - How To Improve?
Should I load third-party libraries from vendor or cdn?