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?
How to add AWS Cloudfront as a Discourse CDN
How to solve super slow loading time for site?
Varnish config for discourse
S3 image bandwidth costs are getting annoying
Discourse load balancer encounters problems, hoping to help
Is Hetzner Object Storage and Bunny CDN Supported?
I can't login to admin after backup due to Cloudflare
How to install discourse without ssl?
How to add AWS Cloudfront as a Discourse CDN
Conserving unicorns by serving images with nginx?
Is Hetzner Object Storage and Bunny CDN Supported?
Optimizing Site For Speed - How To Improve?
Latest commits in v3.3.0.beta3-dev seems to break Discourse
How to make Discourse faster for image-heavy communities?
Using Discourse with Cloudflare: Best Practices
Minimum server size based on backup?
Understanding Uploads, Images, and Attachments
Uploads Subdomain For Cloudflare
Discourse & Cloudflare
Mobile app URL issues
Forum does not work
Should I load third-party libraries from vendor or cdn?
Forum not working after configuring CDN (ERR_CERT_COMMON_NAME_INVALID)
Blank login and signup page
My discourse speed is very slow
MKJ's Opinionated Discourse Deployment Configuration
How might we better structure #howto?
Change image folder to symlinked folder