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"
并检查输出
确保您有以下设置:
- 直接在带有 Origin header 的 EC2 上进行卷曲,看看是否收到 CORS 响应。 (对于 OPTION 请求)
- CloudFront 上允许 OPTIONS 个请求。
- 来源 header 在 CloudFront 上列入白名单。
- CloudFront 默认转发 Origin header 但它不会将 Origin header 考虑到缓存键中,这意味着如果您首先发出请求 www.example.com/test 没有Origin header,CloudFront 缓存它,下一个请求来自 Origin header,它从缓存中提供它,确保在进行这些更改后清除缓存。
5.Check 如果您没有收到 CORS 请求的 4xx 响应(使用 Mozilla 进行测试)。
我使用 Amazon CloudFront 提供我的前端。我的后端在 Amazon EC2 上运行。
我为 CloutFront 分配了一个自己的域并设置了 CNAME
条目。在我的后端,我将新域添加为允许的源主机。但现在我收到 crossorigin
错误消息。为什么会这样?
您是否检查了 CORS 支持?例如通过转发原点 header? 参见 https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/forward-custom-headers.html
尝试使用
调用URLcurl -H "origin: example.com" -v "https://examplec.com"
并检查输出
确保您有以下设置:
- 直接在带有 Origin header 的 EC2 上进行卷曲,看看是否收到 CORS 响应。 (对于 OPTION 请求)
- CloudFront 上允许 OPTIONS 个请求。
- 来源 header 在 CloudFront 上列入白名单。
- CloudFront 默认转发 Origin header 但它不会将 Origin header 考虑到缓存键中,这意味着如果您首先发出请求 www.example.com/test 没有Origin header,CloudFront 缓存它,下一个请求来自 Origin header,它从缓存中提供它,确保在进行这些更改后清除缓存。
5.Check 如果您没有收到 CORS 请求的 4xx 响应(使用 Mozilla 进行测试)。