You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置CloudFront+S3仍遇CORS错误,求排查建议

CloudFront + S3 CORS 错误排查建议
  • 验证响应头实际返回情况
    用curl直接请求CDN资源,检查响应头是否包含Access-Control-Allow-Origin:

    curl -I -H "Origin: https://bodes.io" https://cdn.bodes.io/img/bodes.clear.light.small.png
    

    若未返回该头,先确认SimpleCORS响应头策略是否正确关联到对应行为,或策略本身是否确实配置了Access-Control-Allow-Origin: *。

  • 绕开CloudFront测试S3源站
    直接请求S3存储桶内的资源(格式为https://<bucket-name>.s3.<region>.amazonaws.com/img/bodes.clear.light.small.png),同样带Origin头测试:

    curl -I -H "Origin: https://bodes.io" https://<your-bucket>.s3.<region>.amazonaws.com/img/bodes.clear.light.small.png
    

    如果S3也没返回CORS头,说明S3的CORS策略可能未保存生效,或是桶策略/对象ACL阻止了OPTIONS请求或CORS响应。

  • 确认CloudFront行为的路径匹配
    检查配置的行为路径模式是否覆盖了/img/*。若行为仅匹配特定路径,而当前资源未命中,会使用默认行为的配置,可能缺失CORS相关设置。

  • 检查源请求策略的转发规则
    确认CORS-S3Origin源请求策略是否包含了Origin头的转发。如果该头未转发到S3,S3不会返回CORS响应头,CloudFront自然无法返回对应内容。

  • 排查缓存失效的有效性
    确认缓存失效的路径是/*或具体的/img/bodes.clear.light.small.png,避免因路径输入错误未覆盖目标资源。此外,CloudFront缓存失效需数分钟生效,可等待后再测试。

  • 检查Lambda@Edge的干预
    若配置了Lambda@Edge函数,查看函数代码是否修改了响应头,意外移除了Access-Control-Allow-Origin。

内容的提问来源于stack exchange,提问作者Linux Pro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 05:05:12