en la sección env: de mi archivo yml para una configuración multisitio bastante estándar, todas las URLs del CDN son rechazadas por el navegador debido a un error de CSP.
content security policy script src afirma: “Fuentes de script adicionales permitidas. El host actual y el CDN están incluidos de forma predeterminada. Consulte Mitigar ataques XSS con Content Security Policy.”, pero cuando lo defino (o lo agrego/quito de discourse.conf y ejecuto sv restart unicorn), obtengo esto:
incluso con content security policy report only establecido en true, el sitio aún no carga.
Parece que es necesario desactivar content_security_policy o agregar la URL del CDN a content security policy script src para que el navegador cargue los 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!