Habilitar una CDN para tu Discourse

¿Así que desea utilizar una CDN para acelerar el acceso mundial a los recursos comunes en su foro de Discourse? Es posible que desee ir a por todas y consultar Set up file and image uploads to S3 (consulte también Configure an S3 compatible object storage provider for uploads).

Si desea una CDN sin la complejidad adicional de S3 y tener dos CDNs, esta es la guía para usted. La CDN reducirá parte de la carga de su servidor al permitir que la CDN sirva esos activos para que el servidor no tenga que hacerlo. También puede acelerar las cosas al entregar los archivos desde una ubicación más cercana al usuario final.

Regístrese con la CDN de su elección: CDCK/discourse.org ha utilizado y recomienda encarecidamente Fastly.

La configuración se verá algo así:

Lo que está buscando son tres configuraciones principales:

  1. La dirección de origen, que es la URL donde se encuentra actualmente su foro discourse.example.com. Aquí es de donde la CDN extraerá todo su contenido original en la primera solicitud.

  2. El CNAME, que es el nombre “amigable” para su CDN que configurará en su DNS, por ejemplo, discourse-cdn.example.com

  3. La URL de la CDN, que es el nombre “poco amigable” de dónde vendrán los activos de la CDN almacenados en caché a través de la red mundial de servidores distribuidos de la CDN. Se verá como 637763234.cdn-provider.com

Deberá editar su DNS para mapear el CNAME a la URL de la CDN, de la siguiente manera:

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

(Una vez que haya editado el DNS, dele un poco de tiempo para que se propague).

La parte real de la configuración de Discourse es bastante sencilla. Descomente la línea de la CDN en su app.yml y actualícela con el CNAME que acaba de configurar en su DNS:

## La dirección http o https de la CDN para esta instancia de Discourse (configurada para extraer)
DISCOURSE_CDN_URL: https://discourse-cdn.example.com

:warning: La URL de la CDN debe incluir un protocolo (https:// o http://). Las URL relativas al protocolo (que comienzan con //) ya no son compatibles y harán que la compilación del contenedor se interrumpa.

(Si no ve esta línea en su app.yml, agréguela debajo de las otras variables DISCOURSE_)

Como con cualquier otro cambio en su app.yml, debe reconstruir el contenedor para reflejar los cambios:

./launcher rebuild app

Una vez que haya reconstruido, navegue a su instancia de Discourse en el navegador. Vea el código fuente y busque “cdn”. Verá que los activos de los sitios web ahora provienen de su 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>

Este tema cubre el escenario más común de aceleración de activos estáticos. Consulte este tema para la aceleración de CDN de sitio completo (tanto de activos dinámicos como estáticos) (como la proporcionada por Cloudflare). Cloudflare funciona de manera diferente a una CDN tradicional, por lo que este no es un buen tema para discutir Cloudflare.

Otras CDN que se ha informado que funcionan incluyen:

43 Me gusta
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