Amazon CloudFront URL 问题

Amazon CloudFront URL issue

我使用 Amazon CloudFront 提供我的前端。我的后端在 Amazon EC2 上运行。

我为 CloutFront 分配了一个自己的域并设置了 CNAME 条目。在我的后端,我将新域添加为允许的源主机。但现在我收到 crossorigin 错误消息。为什么会这样?

您是否检查了 CORS 支持?例如通过转发原点 header? 参见 https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/forward-custom-headers.html

尝试使用

调用URL
curl -H "origin: example.com" -v "https://examplec.com"

并检查输出

另见 https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html#header-caching-web-cors

确保您有以下设置:

  1. 直接在带有 Origin header 的 EC2 上进行卷曲,看看是否收到 CORS 响应。 (对于 OPTION 请求)
  2. CloudFront 上允许 OPTIONS 个请求。
  3. 来源 header 在 CloudFront 上列入白名单。
  4. CloudFront 默认转发 Origin header 但它不会将 Origin header 考虑到缓存键中,这意味着如果您首先发出请求 www.example.com/test 没有Origin header,CloudFront 缓存它,下一个请求来自 Origin header,它从缓存中提供它,确保在进行这些更改后清除缓存。

5.Check 如果您没有收到 CORS 请求的 4xx 响应(使用 Mozilla 进行测试)。