커스텀 폰트 로드 시 CORS 오류 발생

테마 컴포넌트 중 하나에서 특수 폰트를 사용하려고 합니다. 아래 게시물의 지침을 따랐습니다:

컴포넌트의 CSS는 다음과 같습니다:

@font-face {
  font-family: 'northwood';
  font-style: regular;
  src: url($northwoodhigh) format('woff2');
}

.category-list tbody .category h3 a[href] {
	color: #ccc;
	font-family: 'northwood', cursive;
	font-size: 135%;
	word-spacing: 3px;
}

Cloudfront URL을 CORS 설정에 다음과 같이 추가했습니다:

하지만 작동하지 않습니다. 안타깝게도 해당 CSS가 포함된 페이지를 로드할 때 콘솔에 “Cross-origin request blocked” 오류가 표시됩니다:

7d26013f5bcde40cc8778378940e1e53_Image 2020-04-25 at 6.38.04 PM

(이미지가 매우 작아 죄송합니다.) 조언을 주실 수 있는 분이 있을까요? 막혀서动弹할 수 없습니다.

설명이 제안하는 대로 app.yml에 DISCOURSE_ENABLE_CORS가 설정되어 있나요?

확실하지 않네요 – 확인하는 방법이 있을까요? (저는 호스팅된 Discourse 인스턴스를 사용하고 있어서 설정 파일에 직접 접근할 수 없습니다.)

수정: 해당 문제가 맞는지 확인해 달라고 호스팅 제공업체에 이메일을 보냈습니다.

업데이트: 호스팅 제공업체에서 DISCOURSE_ENABLE_CORS가 TRUE로 설정되어 있음을 확인했습니다.

그래서 여전히 이유를 모르겠습니다.

설명하신 대로 CDN이 설정된 사이트에서 방금 테스트해 봤고, 정상적으로 작동했습니다. 따라서 이 문제는 아마도 사용자의 사이트에만 제한적으로 발생하는 것 같습니다.

DISCOURSE_ENABLE_CORS 설정은 원하시는 것과 정반대인 것 같습니다. 이 설정에 도메인을 추가하면 해당 도메인에서 사용자의 Discourse 도메인으로의 요청을 허용하게 되며, 그 반대는 아닙니다.

원하시는 것은 사용자의 Discourse 도메인에서 CDN에 있는 파일에 접근할 수 있도록 허용하는 것입니다. 아마도 사용자의 CDN이 이러한 요청을 차단하고 있는 것 같습니다. 물론 값은 변경한 후 터미널 창에서 다음과 같은 명령을 실행하여 확인해 볼 수 있습니다.

curl -H "origin: YOUR_SITE_URL" -v "PATH_TO_THE_FONT_ON_YOUR_CDN"

모든 설정이 올바르게 되어 있다면, 응답 헤더에서 다음과 같은 내용을 확인해야 합니다.

Access-Control-Allow-Origin: *