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

如何不使用备用域名访问CloudFront?配置排查求助

解决CloudFront默认域名访问S3源站403错误的方法

以下是可能遗漏的配置项及修复步骤:

1. 检查源站类型与端点配置

如果你的S3桶启用了静态网站托管,CloudFront源站必须配置为S3的静态网站端点(格式:bucket-name.s3-website-<region>.amazonaws.com),而非S3 REST API端点(bucket-name.s3.amazonaws.com)。

  • 操作:在CloudFront控制台的分发源站设置中,选择“自定义源”,输入S3静态网站的完整域名,端口选择80或443(根据静态网站的协议)。

2. 调整缓存键中的Host头转发策略

当使用CloudFront默认域名访问时,请求的Host头是CloudFront的域名(如*****.cloudfront.cn),而S3静态网站仅接受自身域名作为Host头,这会导致403错误。

  • 操作:
    1. 进入CloudFront分发的“行为”页面,编辑对应的行为规则。
    2. 在“缓存键和源请求”部分,选择“自定义缓存键和源请求”。
    3. 在“源请求策略”中,选择或创建一个策略,将Host头设置为源站域名(即S3静态网站的域名),而非转发Viewer的Host头。
    4. 保存配置并等待CloudFront分发部署完成(通常需要15-20分钟)。

3. 验证S3桶的访问权限

确保S3桶确实是公开可访问的:

  • 检查桶策略是否包含允许所有用户访问s3:GetObject权限的语句,且没有针对特定Host头的限制。
  • 直接访问S3静态网站端点的对象路径,确认可以正常访问,排除S3自身的权限问题。

4. 检查CloudFront的错误页面配置

某些情况下,错误页面的自定义配置可能导致正常请求被错误拦截。验证CloudFront的“错误页面”设置,确保403错误没有被错误映射到其他资源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 00:45:13