我看到使用curl和瀏覽器(FF和Chrome)從服務器返回的不同頭文件。CORS AWS S3和cloudfront
捲曲返回CORS頭
curl -X GET -I -H "Origin: https://qa.gameofshred.com" https://s3-ap-southeast-1.amazonaws.com/gameofshred-qa/site/fontawesome-webfont.912ec66d7572ff821749.svg --verbose
> GET /gameofshred-qa/site/fontawesome-webfont.912ec66d7572ff821749.svg HTTP/1.1
> User-Agent: curl/7.29.0
> Host: s3-ap-southeast-1.amazonaws.com
> Accept: */*
> Origin: https://qa.gameofshred.com
>
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< x-amz-id-2: m9oDqyGs0K+0IBnygQlGE9IEeVZQcpIf1nYSWYYu5NU5Hu3gNEUy8SfWnO/mFiK8nPIBPlDhWec=
x-amz-id-2: m9oDqyGs0K+0IBnygQlGE9IEeVZQcpIf1nYSWYYu5NU5Hu3gNEUy8SfWnO/mFiK8nPIBPlDhWec=
< x-amz-request-id: 135C9D56C2C0D604
x-amz-request-id: 135C9D56C2C0D604
< Date: Wed, 19 Apr 2017 02:37:34 GMT
Date: Wed, 19 Apr 2017 02:37:34 GMT
< Access-Control-Allow-Origin: *
Access-Control-Allow-Origin: *
< Access-Control-Allow-Methods: GET
Access-Control-Allow-Methods: GET
< Access-Control-Max-Age: 3000
Access-Control-Max-Age: 3000
< Vary: Origin, Access-Control-Request-Headers, Access-Control-Request-Method
Vary: Origin, Access-Control-Request-Headers, Access-Control-Request-Method
< Last-Modified: Tue, 18 Apr 2017 23:02:06 GMT
Last-Modified: Tue, 18 Apr 2017 23:02:06 GMT
< ETag: "912ec66d7572ff821749319396470bde"
ETag: "912ec66d7572ff821749319396470bde"
< Accept-Ranges: bytes
Accept-Ranges: bytes
< Content-Type: image/svg+xml
Content-Type: image/svg+xml
< Content-Length: 444379
Content-Length: 444379
< Server: AmazonS3
Server: AmazonS3
瀏覽器,另一方面不包含任何CORS標頭。
請求:
GET /gameofshred-qa/site/fontawesome-webfont.912ec66d7572ff821749.svg HTTP/1.1
Host: s3-ap-southeast-1.amazonaws.com
Origin: https://qa.gameofshred.com
Accept: */*
User-Agent: curl/7.29.0
Cache-Control: no-cache
響應:
Accept-Ranges → bytes
Content-Length → 444379
Content-Type → image/svg+xml
Date → Wed, 19 Apr 2017 02:32:37 GMT
ETag → "912ec66d7572ff821749319396470bde"
Last-Modified → Tue, 18 Apr 2017 23:02:06 GMT
Server → AmazonS3
x-amz-id-2 → O0V/q2q9vSKQgJWKUL8LfsQghKlyBS90fTYDt9TLcgJimjeCUKg57+UwgAnWym8tJRPpGsRutG0=
x-amz-request-id → 5EA7299EC61D0E86
任何解釋?謝謝。
UPD: 正如我建議我更新Cors配置。它並沒有幫助
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<MaxAgeSeconds>55</MaxAgeSeconds>
<AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
</CORSConfiguration>
UPD 2: 顯然是由兩個方面原因 1)CDN緩存 2)使用郵差檢查CORS導致的問題。郵差(瀏覽器版本)總是將ORIGIN替換爲「chrome:// extensions ....」之類的東西,所以我們不能用它來進行測試。
一點也沒有」 t幫助...仍然一樣 –
@ArtemIbragimov當我在AWS中編輯CORS配置時,在查看正確的標題之前需要一點時間。不知道這是否是你的情況,但它永遠不會等待。 –
這就是爲什麼我更新MaxAgeSeconds,所以我可以肯定知道更改發生的時間..我看到更新「訪問控制 - 最大年齡」在捲曲,但瀏覽器仍然是相同的 –