He configurado una instalación de Discourse versión v2.3.0.beta2 en AWS.
Este adjunto muestra cómo lo he desplegado. Estoy utilizando la instalación oficial de la imagen de Docker en cada instancia del grupo de autoescalado.
Tengo 2 distribuciones de CloudFront:
Una (cdn.civicxclub.com) apuntando a los buckets de S3 para servir las imágenes cargadas directamente desde la CDN. ESTO FUNCIONA.
La otra (civicxclub.com) apuntando al balanceador, para servir la aplicación y todos los archivos estáticos desde él. ESTO NO FUNCIONA.
Esta es la configuración de comportamientos que tengo:
La configuración predeterminada tiene la opción “Cache Based on Selected Request Headers” establecida en All para no permitir la caché desde el backend.
Todas las demás tienen “Cache Based on Selected Request Headers” establecida en Whitelist y he puesto en lista blanca las cabeceras Host, Origin y Referer.
Cuando accedo a la web desde el navegador e inspecciono las cabeceras de, por ejemplo, un avatar, siempre dice “Miss from cloudfront”, pero cuando accedo al archivo dos veces directamente desde el navegador, dice “Hit from cloudfront”, por lo que la caché funciona, pero no al cargar archivos desde la página web del foro.
How can I then serve avatars, css and js files from this CDN if they are stored on the server??
I’ve tried to use the cdn.civicxclub.com url which is mapping to the S3 bucket and add all the behaviours related to discourse static content, and it failed.