na seção env: do meu arquivo yml para uma configuração multisite bastante padrão, todos os URLs do CDN são rejeitados pelo navegador devido a um erro de CSP.
content security policy script src afirma: “Fontes de script adicionais na lista branca. O host atual e o CDN estão incluídos por padrão. Veja Mitigar ataques XSS com Content Security Policy.”, mas quando eu defino isso (ou adiciono/removo do discourse.conf e executo sv restart unicorn), recebo o seguinte:
mesmo com content security policy report only definido como true, o site ainda não carrega.
Parece que é necessário desativar content_security_policy ou adicionar o URL do CDN ao content security policy script src para que o navegador carregue os recursos.
CDN URLs should be computed and included in the CSP by default. Could you also provide (or try comparing) the actual CSP served in the header and the source of the blocked assets?
And here is the URL for one of the assets that won’t load: https://lcsupport-92e2.kxcdn.com/brotli_asset/preload-store-d32dcf974dddcac742f8a7a6aa7fcd686185920b201029d0ecb2b85527ef9034.js
https://abedmulti-92e2.kxcdn.com/uploads/assets/
https://abedmulti-92e2.kxcdn.com/uploads/brotli_asset/
# i.e. DISCOURSE_S3_CDN_URL + /brotli_asset/
But the actual address is
https://lcsupport-92e2.kxcdn.com/brotli_asset/preload-store-d32dcf974dddcac742f8a7a6aa7fcd686185920b201029d0ecb2b85527ef9034.js
# i.e. DISCOURSE_CDN_URL + /brotli_asset/...
The relevant CSP code:
We prioritize using DISCOURSE_S3_CDN_URL for assets when available. This aligns with the CDN asset URL generation.
@pfaffman Does GlobalSetting.use_s3? return true for your site?
I wonder if we need an additional GlobalSetting.use_s3? check here. Does having GlobalSetting.s3_cdn_url necessarily imply GlobalSetting.use_s3?? I’m a bit hazy with asset genereation / S3 CDN now could someone more familiar with it also take a look? Thanks!