Aqui estão algumas informações sobre isso; eu lidei com isso no mês passado.
Corrigi o problema configurando ambas as variáveis (DISCOURSE_S3_CDN_URL e DISCOURSE_CDN_URL) e criando duas distribuições do CloudFront: uma para os uploads, com origem no bucket S3, e outra para os ativos, com origem no servidor.
Aqui está o código que usamos para isso:
- Distribuição do CloudFront com S3 como origem: infra/live/prod/services/discourse/cloudfront.tf at master · debtcollective/infra · GitHub
- Distribuição do CloudFront com Servidor como origem: infra/live/prod/services/discourse/cloudfront.tf at master · debtcollective/infra · GitHub
Aqui está nosso arquivo app.yml (que chamamos de web.yml), onde substituímos as variáveis no momento da construção: infra/modules/services/discourse/web.yml at master · debtcollective/infra · GitHub