Aquí tienes información al respecto; estuve lidiando con esto el mes pasado.
Lo solucioné configurando ambas variables (DISCOURSE_S3_CDN_URL y DISCOURSE_CDN_URL) y creando dos distribuciones de CloudFront: una para las subidas con el bucket S3 como origen, y otra para los activos con el servidor como origen.
Aquí está el código que utilizamos para esto:
- Distribución de CloudFront con S3 como origen infra/live/prod/services/discourse/cloudfront.tf at master · debtcollective/infra · GitHub
- Distribución de CloudFront con el servidor como origen infra/live/prod/services/discourse/cloudfront.tf at master · debtcollective/infra · GitHub
Este es nuestro app.yml (lo llamamos web.yml); reemplazamos las variables en el momento de la compilación infra/modules/services/discourse/web.yml at master · debtcollective/infra · GitHub