CloudFront가 Access-Control-Allow-Origin을 반환하지 않는 이유는 무엇입니까?

CloudFront가 Access-Control-Allow-Origin을 반환하지 않는 이유는 무엇입니까?

cloudfront 배포가 access-control-allow-origin을 통해 캐시/전송하지 않는 이유를 알아내려고 합니다.

웹사이트를 컬링할 때:

HTTP/1.1 200 OK
Date: Sat, 03 Mar 2018 07:42:01 GMT
Content-Type: application/font-woff2
Content-Length: 77160
Connection: keep-alive
Set-Cookie: __cfduid=dda822a428a2dddb9113bbd425dba93e91520062921; expires=Sun, 03-Mar-19 07:42:01 GMT; path=/; domain=.flexrc.com; HttpOnly
Last-Modified: Fri, 02 Mar 2018 03:01:32 GMT
ETag: "5a98be8c-12d68"
Access-Control-Allow-Origin: *
CF-Cache-Status: HIT
Expires: Sat, 03 Mar 2018 11:42:01 GMT
Cache-Control: public, max-age=14400
Accept-Ranges: bytes
Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
Server: cloudflare
CF-RAY: 3f5a76ca7ddd3b50-YVR

하지만 cloudfront 파일을 컬링하면 다음과 같습니다.

HTTP/1.1 200 OK
Content-Type: application/octet-stream
Content-Length: 66624
Connection: keep-alive
Date: Sat, 03 Mar 2018 03:13:25 GMT
Last-Modified: Sun, 21 Feb 2016 22:02:50 GMT
ETag: "56ca340a-10440"
CF-Cache-Status: HIT
Expires: Sat, 03 Mar 2018 07:13:25 GMT
Cache-Control: public, max-age=14400
Accept-Ranges: bytes
Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
Server: cloudflare
CF-RAY: 3f58ed5738b09668-SJC
X-Cache: RefreshHit from cloudfront
Via: 1.1 f42a8d19b16850af801ce5662fc9fdab.cloudfront.net (CloudFront)
X-Amz-Cf-Id: HBJgB_UBz1pKdUQf-08bsZDXGE3Cv9GD6X9e3aUx_R8ejPdlQxGD8g==

~ 안에"행동 편집"~을 위한"선택한 요청 헤더 기반 캐시"Origin다음 에 대한 허용 목록을 추가했습니다 .Access-Control-Allow-Origin

또한 Object를 여러 번 무효화했으며 배포 진행이 완료되기를 기다리고 있었습니다.

나는 사용하지 않습니다S3.

나도 확인해봤어Cloudfront에서 Access-Control-Allow-Origin 설정

하지만 그것은 나에게 도움이 되지 않았습니다.

어떤 조언이라도 감사하겠습니다.

배포 설정

답변1

다시 테스트하기 전에 Cloudfront 캐시를 제거해 보십시오. 헤더를 포함하여 전체 응답이 캐시됩니다. 나는 무슨 일이 일어났는지 추측한다:

  1. CF용 ACAO가 꺼졌습니다.
  2. CF에 적용된 컬 - ACAO 없이 응답을 캐시로 가져옴
  3. ACAO를 활성화하도록 설정이 변경되었습니다.
  4. 요청이 이루어졌습니다 - CF에서 HIT되어 설정 변경이 반영되지 않았습니다.

결과적으로 캐시를 제거하고 다시 시도하면 적절한 헤더를 사용하여 생성된 새 캐시 개체를 얻게 됩니다.

관련 정보