Wir verwenden Amazon S3 + CloudFront für die Bereitstellung von JSON-Dateien. Wir haben zwei Dateien hochgeladen, die wir als j1.json und j2.json betrachten können. Beide Dateien reagieren anfänglich mit gültigen CORS-Headern in der Antwort, aber bei der Ausführung von invalidation auf j2.json haben sich die Headerantworten geändert, und wir sehen uns einem CORS-Problem gegenüber.Amazon S3 + CloudFront CORS Problem
CORS Berechtigungen auf Eimer S3 -
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Response-Header für j1.json
Beide JSON-Dateien in der gleicher Bucket, aber j2.json Antwort fehlt diese Header
Wir haben versucht, wieder Objekt zu löschen und hochzuladen, es reagiert nicht CORS-Header in der Antwort. Was ist der mögliche Grund für dieses Problem? Und wie löst man es?
Löschen Sie Ihren Browser-Cache und versuchen Sie es in anderen Browsern. Die wahrscheinlichste Erklärung, wenn dies passiert, ist eine veraltete Cache-Kopie einer Datei – sideshowbarker
@sideshowbarker Wir haben bereits verschiedene Browser ausprobiert, löschen Cache und Hard Reload. Gleiches von Postman auch. Bisher kein Glück. – RockStar
Ist die CloudFront-Verteilung so konfiguriert, dass sie 'Access-Control-Request-Header',' Access-Control-Request-Method' und 'Origin'-Header an S3 weiterleitet (im" Cache-Verhalten ")? Senden Sie beim Testen mit Postboten einen 'Origin:' Header (und die anderen)? Können Sie URLs anzeigen? –