simonk
(Simon King)
4
您是否在这两个网站上使用了 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 个赞