Warum gibt CloudFront Access-Control-Allow-Origin nicht zurück?

Warum gibt CloudFront Access-Control-Allow-Origin nicht zurück?

Ich versuche herauszufinden, warum die Cloudfront-Verteilung nicht über Access-Control-Allow-Origin zwischenspeichert/sendet.

Wenn ich meine Website curle:

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

aber wenn ich die Cloudfront-Datei curle:

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==

In„Verhalten bearbeiten“für„Cache basierend auf ausgewählten Anforderungsheadern“Ich habe Whitelist hinzugefügt für OriginundAccess-Control-Allow-Origin

Ich habe Object außerdem mehrmals für ungültig erklärt und darauf gewartet, dass der Fortschritt bei der Verteilung abgeschlossen wird.

Ich benutze nichtS3.

Ich habe auch überprüftFestlegen von Access-Control-Allow-Origin auf Cloudfront

aber es hat mir nicht geholfen.

Jeder Ratschlag ist willkommen.

Verteilungseinstellungen

Antwort1

Versuchen Sie, Ihren Cloudfront-Cache zu leeren, bevor Sie den Test wiederholen – die gesamte Antwort wird zwischengespeichert, einschließlich der Header. Ich vermute, dass Folgendes passiert ist:

  1. ACAO für CF wurde deaktiviert
  2. curl auf CF ausgeführt - Antwort ohne ACAO in den Cache gezogen
  3. Einstellung wurde geändert, um ACAO zu aktivieren
  4. Anforderung wurde gestellt – HIT in CF, daher wurde die Einstellungsänderung nicht widergespiegelt.

Wenn Sie den Cache leeren und es erneut versuchen, wird ein neues Cache-Objekt mit den richtigen Headern generiert.

verwandte Informationen