
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 캐시를 제거해 보십시오. 헤더를 포함하여 전체 응답이 캐시됩니다. 나는 무슨 일이 일어났는지 추측한다:
- CF용 ACAO가 꺼졌습니다.
- CF에 적용된 컬 - ACAO 없이 응답을 캐시로 가져옴
- ACAO를 활성화하도록 설정이 변경되었습니다.
- 요청이 이루어졌습니다 - CF에서 HIT되어 설정 변경이 반영되지 않았습니다.
결과적으로 캐시를 제거하고 다시 시도하면 적절한 헤더를 사용하여 생성된 새 캐시 개체를 얻게 됩니다.