相对路径导致的CORS错误在Discourse网站上

您是否在这两个网站上使用了 CDN?我注意到我的网站上的代码高亮已不再有效,我认为这是因为:

就我而言,我的 CDN 没有为 highlightjs 文件返回 Access-Control-Allow-Origin 标头。我注意到 Meta 的 CDN 确实包含该标头,所以我想知道有什么不同。

$ curl --silent -I https://d3bpeqsaub0i6y.cloudfront.net/highlight-js/meta.discourse.org/9797975efac87d28baa695ae13ca72ccaf5120f5.js | grep -i access-control
access-control-allow-origin: *
access-control-allow-methods: GET, HEAD, OPTIONS

但是,这些标头没有由源服务器提供:

$ curl --silent -I https://meta.discourse.org/highlight-js/meta.discourse.org/9797975efac87d28baa695ae13ca72ccaf5120f5.js | grep -i access-control

据我所知,Discourse 应该为 highlightjs 文件添加访问控制标头:

但是,只有当请求是“CDN 请求”时,这些标头才会被应用:

这仅在 Discourse 配置了单独的“CDN 请求”主机名时才有效。

1 个赞