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
그러나 해당 헤더는 원본 서버(Origin server)에서 제공되지 않고 있습니다:
$ curl --silent -I https://meta.discourse.org/highlight-js/meta.discourse.org/9797975efac87d28baa695ae13ca72ccaf5120f5.js | grep -i access-control
<no output>
제가 파악한 바로는, Discourse는 highlightjs 파일에 access-control 헤더를 추가하도록 설계되어 있습니다:
그러나 이 헤더는 요청이 "CDN 요청"인 경우에만 적용됩니다:
이것은 Discourse가 "CDN 요청"을 위한 별도의 호스트 이름으로 구성된 경우에만 작동합니다.
1개의 좋아요