我正在尝试使用AWS S3和CloudFront来处理我正在开发的Web应用程序.
在应用程序中,我让用户将文件上传到S3存储桶(使用AWS SDK)并通过CloudFront CDN使其可用,但问题是即使在S3存储桶中上传和准备文件大约需要一分钟或2在CloudFront CDN网址中可用,这是正常的吗?
我有一个启用了 CORS 和自定义域设置的 AWS API Gateway API。通过execute-api端点的直接 API 访问正在运行,我在浏览器中没有遇到 CORS 问题。通过api.example.com我也配置的自定义域进行访问,原则上是有效的,但不是在浏览器中,我在那里获得 CORS:
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Run Code Online (Sandbox Code Playgroud)
在设置自定义域时,API Gateway 会配置它自己的 CloudFront 分配,这在某种程度上是内部的,我不知道如何配置它,或者如果可能的话,它不会出现在我的 CloudFront 分配列表中,这是预期的。从 AWS文档:
API Gateway 创建的 CloudFront 分配由隶属于 API Gateway 的区域特定帐户所有
我发现这些答案/sf/answers/3670493361/和/sf/answers/3602477581/描述了如何使用正常的 CloudFront 分发解决问题。不过,我想知道: