我正在尝试通过React Web应用程序向Cloudfront发行版(具有S3存储桶起源)发出GET请求。问题是,我想我已经在cloudfront AND s3上启用了设置,以便响应标题中包含“ Access-Control-Allow-Origin”标题。
和S3存储桶的CORS配置:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
</CORSRule>
</CORSConfiguration>
使用终端/卷曲请求时的响应标头:
$ curl -i -H "Origin: http://localhost:8000" https://<CLOUDFRONT_URL>/<FILE>
HTTP/1.1 200 OK
Content-Type: text/plain
Content-Length: 260
Connection: keep-alive
Date: Mon, 21 Sep 2020 00:42:27 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET
Last-Modified: Sat, 19 Sep 2020 04:40:14 GMT
ETag: "f59d5ad53f657ee2b8edee79703da391"
Accept-Ranges: bytes
Server: AmazonS3
X-Cache: Hit from cloudfront
Via: 1.1 28663e5849ed20a9d037ca8066957991.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: SFO5-C1
X-Amz-Cf-Id: I4t51yGLpfwqbS7QFSjOjuOH9UvxNaBjY8vuIbai53SzVsQ0to4Jaw==
Age: 38
<CONTENT HERE>
如您所见,响应标题中出现“ Access-Control-Allow-Origin”时,响应标题中没有出现卷曲。如何解决它,以便浏览器可以提出跨源请求?提出API请求时,在任何地方使用cors代理是个好主意吗?