L'URL du CDN doit être ajoutée au script src de la CSP

J’ai configuré un site avec des variables d’environnement (ENV) comme suit :

DISCOURSE_FORCE_HTTPS: true
DISCOURSE_S3_ACCESS_KEY_ID: 'KEY'
DISCOURSE_S3_SECRET_ACCESS_KEY: 'SECRET'
DISCOURSE_BACKUP_LOCATION: 's3'
DISCOURSE_ENABLE_S3_UPLOADS: true
DISCOURSE_ENABLE_S3_INVENTORY: false
DISCOURSE_S3_BACKUP_BUCKET: 'mybucket/backups'
DISCOURSE_S3_UPLOAD_BUCKET: 'mybucket'
DISCOURSE_S3_CDN_URL: 'https://mybuckets3.cdn.literatehosting.com'
DISCOURSE_S3_REGION: 'us-west-1'
DISCOURSE_BACKUP_WITH_UPLOADS: 'false'
DISCOURSE_CDN_URL: 'https://mybucket.cdn.literatehosting.com'

Tout fonctionnait parfaitement jusqu’à ce que j’ajoute l’URL du CDN S3. Après avoir ajouté le CDN S3, mon navigateur a commencé à rejeter les requêtes vers le CDN normal (non S3). J’ai ajouté l’URL du CDN à SiteSetting.content_security_policy_script_src= et cela a recommencé à fonctionner. Cela ressemble à un bug, n’est-ce pas ? J’ai simplement redémarré après avoir modifié ces variables d’environnement, sans reconstruire. Dois-je exécuter rake assets:precompile lorsque je modifie les paramètres du CDN ?

Hmm, cela devrait fonctionner correctement. Le CSP est censé autoriser les dossiers spécifiques sur S3 et les CDN d’où proviennent les scripts.

Quel CSP Discourse envoyait-il/envoie-t-il avec la page ? S’agit-il d’une installation dans un sous-dossier ?

Je pense comprendre cela. Ce CSP se trouve-t-il dans les ressources statiques générées par rake assets:precompile ? (Mais alors, pourquoi l’ajout aux paramètres résoudrait-il le problème ?)

Je crains de ne pas connaître la méthode canonique pour obtenir la réponse à cette question.

Pas de sous-dossier. Une installation assez standard, bien que traefik agisse comme un proxy inverse devant.

curl -I https://discourse.example.com/ ou l’inspecteur Chrome, puis récupérez le contenu de l’en-tête Content-Security-Policy.