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

如何为CloudFront配置默认根对象以修复安全合规问题

解决CloudFront默认根对象配置问题

首先明确核心问题:你的场景是CloudFront作为API Gateway的分发层,默认根对象需要直接在CloudFront分发的SAM配置中定义,而非在S3桶或项目根目录设置——因为你的CloudFront源是API Gateway,不是S3存储桶,之前操作S3的方向不对,所以没生效。

在SAM模板中配置CloudFront默认根对象的具体方法

找到模板中定义CloudFront分发的AWS::CloudFront::Distribution资源段,在其DistributionConfig节点下添加DefaultRootObject属性,值为你API Gateway的默认触发路径(比如/,或Lambda对应的具体端点路径如/api/v1/handler)。

示例配置片段

Resources:
  MyCloudFrontDistro:
    Type: AWS::CloudFront::Distribution
    Properties:
      DistributionConfig:
        DefaultRootObject: "/prod" # 替换为你的API Gateway阶段路径或端点路径
        Origins:
          - Id: APIGatewayOrigin
            DomainName: !Sub "${MyAPIGateway}.execute-api.${AWS::Region}.amazonaws.com"
            CustomOriginConfig:
              HTTPPort: 80
              HTTPSPort: 443
              OriginProtocolPolicy: https-only
        # 其他CloudFront配置(缓存策略、行为规则等)...

关键注意事项

  • 如果用的是REST API,默认根对象要匹配API部署的阶段路径(比如stage为prod就填/prod);如果是HTTP API,直接填对应的端点路径即可。
  • 无需在S3或项目目录添加任何文件,这个配置是CloudFront层面的规则:当用户访问CloudFront根域名时,会自动将请求转发到你指定的默认路径,触发对应的Lambda。
  • 配置完成后重新部署SAM应用(执行sam deploy或sam deploy --guided),CloudFront分发更新后,安全告警就会消除。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 21:28:09