CDN-URL muss zu csp script src hinzugefügt werden

Ich habe eine Site konfiguriert, die ENV wie folgt verwendet:


  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'

Es funktionierte einwandfrei, bis ich die s3 cdn url hinzugefügt habe. Nach dem Hinzufügen des S3-CDN lehnte mein Browser Anfragen an das normale (nicht S3) CDN ab. Ich habe die CDN-URL zu SiteSetting.content_security_policy_script_src= hinzugefügt, und dann funktionierte es wieder. Das scheint ein Fehler zu sein, oder? Ich habe nach der Änderung dieser ENV-Variablen nur einen Neustart durchgeführt, keinen Rebuild. Muss ich bei einer Änderung der CDN-Einstellungen ein rake assets:precompile ausführen?

Hmm, das sollte eigentlich einwandfrei funktionieren. Die CSP sollte die spezifischen Ordner auf S3 und die CDNs, von denen die Skripte stammen, freigeben.

Welche CSP wurde bzw. wird von Discourse mit der Seite gesendet? Handelt es sich hierbei um eine Installation in einem Unterordner?

Ich glaube, ich verstehe das. Befindet sich diese CSP in den statischen Assets, die durch rake assets:precompile erstellt werden? (Aber warum würde das Hinzufügen zu den Einstellungen es dann beheben?)

Ich fürchte, ich kenne die kanonische Methode, um die Antwort auf diese Frage zu erhalten, nicht ganz.

Kein Unterordner. Eine recht Standard-Installation, wobei Traefik als Reverse-Proxy davor geschaltet ist.

curl -I https://discourse.example.com/ oder den Chrome-Inspektor verwenden und den Inhalt des Headers Content-Security-Policy abrufen.