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

将CloudFront从OAC改为S3网站端点后出现403错误排查

排查CloudFront切换到S3网站端点后的403错误

1. 调整S3访问权限配置

S3静态网站托管的权限逻辑和桶端点完全不同:

  • 不需要通过存储桶策略给CloudFront授权,反而要检查公有访问设置:如果之前用OAC时开启了Block all public access,需至少取消Block public access to buckets and objects granted by any access control lists (ACLs)和Block public access to buckets and objects granted by new public bucket policies。
  • 给存储桶或具体对象添加桶ACL,授予Everyone的Read权限——这是S3网站端点正常访问的必要条件,和OAC的私有桶授权逻辑完全相反。

2. 修正CloudFront源配置

  • 确认源域名是S3静态网站托管的专属端点(格式如bucket-name.s3-website-region.amazonaws.com),而非S3 REST端点(bucket-name.s3.amazonaws.com),填错会直接触发权限不匹配。
  • 移除原有的**Origin Access Control (OAC)**配置:S3网站端点不支持OAC,若保留该配置,CloudFront会继续发送签名请求,而网站端点无法识别,直接返回403。

3. 检查CloudFront缓存行为设置

  • 确保缓存行为允许GET、HEAD方法,这是静态网站访问的必需方法。
  • 调整Origin Request Policy:改用默认的Managed-CORS-S3Origin或基础请求策略,避免原OAC配置的自定义签名头导致S3拒绝请求。

4. 验证对象路径与默认文档

  • 确认S3根目录存在配置的默认文档(如index.html),且CloudFront的默认根对象设置和S3网站的默认文档保持一致。
  • 注意S3对象路径区分大小写,若请求路径与实际文件路径大小写不匹配,会返回403/404。

5. 核对区域一致性

确保CloudFront源配置的S3网站端点区域,与存储桶实际所在区域完全一致,区域不匹配会导致请求路由错误,触发403。

内容的提问来源于stack exchange,提问作者Kaguei Nakueka

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 05:05:59