mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 22:43:33 +08:00
FIX: Ensure app-cdn CORS is not overridden by cors_origin setting (#24661)
We add `Access-Control-Allow-Origin: *` to all asset requests which are requested via a configured CDN. This is particularly important now that we're using browser-native `import()` to load the highlightjs bundle. Unfortunately, user-configurable 'cors_origins' site setting was overriding the wldcard value on CDN assets and causing CORS errors. This commit updates the logic to give the `*` value precedence, and adds a spec for the situation. It also invalidates the cache of hljs assets (because CDNs will have cached the bad Access-Control-Allow-Origin header). The rack-cors middleware is also slightly tweaked so that it is always inserted. This makes things easier to test and more consistent.
This commit is contained in:
@ -73,6 +73,7 @@ RSpec.describe Hijack do
|
||||
|
||||
it "handles cors" do
|
||||
SiteSetting.cors_origins = "www.rainbows.com"
|
||||
global_setting :enable_cors, true
|
||||
|
||||
app =
|
||||
lambda do |env|
|
||||
|
Reference in New Issue
Block a user