Amazon-Web-Services

在 Cloudfront 上設置 Access-Control-Allow-Origin

  • November 12, 2021

我在使用 AWS Cloudfront 向 Firefox 提供靜態資產時遇到問題。

Chrome 完美執行,但 Firefox 返回 CORS 錯誤。

如果我執行 curl ,我會得到:

HTTP/1.1 200 OK
Content-Type: application/x-font-opentype
Content-Length: 39420
Connection: keep-alive
Date: Mon, 11 Aug 2014 21:53:50 GMT
Cache-Control: public, max-age=31557600
Expires: Sun, 09 Aug 2015 01:28:02 GMT
Last-Modified: Fri, 08 Aug 2014 19:28:05 GMT
ETag: "9df744bdf9372cf4cff87bb3e2d68fc8"
Accept-Ranges: bytes
Server: AmazonS3
Age: 2743
X-Cache: Hit from cloudfront
Via: 1.1 c445b20dfbf3128d810e975e5d84e2cd.cloudfront.net (CloudFront)
X-Amz-Cf-Id: ...

我認為需要標題:

Access-Control-Allow-Origin: *

誰能幫我?為什麼在 Firefox 而不是 Chrome 上會出現問題?我該如何解決?

首先,您需要確保將原始標頭列入白名單:

如果您希望 CloudFront 遵守跨域資源共享設置,請將 CloudFront 配置為將 Origin 標頭轉發到您的源。

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#request-custom-cors

另請參閱: http ://aws.amazon.com/blogs/aws/enhanced-cloudfront-customization/

順便說一句,serverfault/stackoverflow上有幾個類似的問題和很多答案。

引用自:https://serverfault.com/questions/619699