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

AWS中API Gateway与Cloudfront后S3静态桶同域名路径配置问题

Cloudfront+S3+API Gateway同域名配置问题解决方案

核心问题定位

当前问题集中在:

  • feedback.domain.com/api路径无法正确路由到API Gateway,返回403且无CloudWatch日志
  • S3源路径配置错误导致全域AccessDenied
  • 原子域名API场景下前端请求触发CORS错误

一、Cloudfront行为路由配置(关键)

要实现同域名不同路径分发,必须配置多行为规则,按路径优先级匹配:

  • 规则1(优先级更高):
    • 路径模式:/api/*
    • 源:绑定API Gateway的自定义域名(需先完成API Gateway自定义域名配置)
    • 缓存策略:禁用缓存或设置短TTL(API请求不适合缓存)
    • 查看器协议:强制HTTPS(同时满足TLS 1.2要求)
  • 规则2:
    • 路径模式:/*
    • 源:指向S3静态存储桶
    • 缓存策略:使用静态资源默认缓存策略
    • 注意:不要修改S3源路径为/web/*,除非静态文件确实存放在S3的web前缀下,否则会导致所有请求查找web/开头的文件,引发AccessDenied

二、API Gateway自定义域名与路径映射

  1. 绑定feedback.domain.com到API Gateway:
    • 进入API Gateway控制台「自定义域名」页面,创建自定义域名,关联ACM证书(需与Cloudfront同区域)
    • 配置基础路径映射:将/api映射到目标API的对应阶段(如prod)
  2. 独立验证API路径:直接访问API Gateway自定义域名的/api/xxx,确认能返回Lambda响应,且CloudWatch有日志(若仍无日志,检查API Gateway日志开关及IAM权限)

三、S3存储桶权限与路径修复

  1. 恢复S3源路径为默认(无需添加/web/*),若静态文件在S3根目录,直接用存储桶作为源
  2. 配置S3存储桶策略,允许Cloudfront OAI访问:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity YOUR_OAI_ID"
          },
          "Action": "s3:GetObject",
          "Resource": "arn:aws:s3:::YOUR_BUCKET_NAME/*"
        }
      ]
    }
    
  3. 确保S3静态网站托管的索引、错误文档配置正确,避免路径访问异常

四、TLS 1.2启用配置

  • Cloudfront端:在分发设置的「查看器」中,选择ACM证书,设置「支持的SSL/TLS协议」为TLSv1.2 only
  • API Gateway端:自定义域名配置中使用支持TLS 1.2的ACM证书,确保端点仅接受TLS 1.2请求

五、CORS问题解决

同域名路由下,/api请求属于同域请求,不会触发CORS,但仍需确保API Gateway CORS配置正确:

  • 在API Gateway各资源上开启CORS,允许来源为feedback.domain.com(或*),配置允许的HTTP方法和请求头
  • 前端请求路径改为/api/xxx,避免子域名跨域

六、403错误排查

  1. /api路径403且无CloudWatch日志:
    • 检查Cloudfront的/api/*行为是否优先级高于/*(/api/*更具体,应优先匹配)
    • 验证Cloudfront源是否正确指向API Gateway自定义域名,协议配置为HTTPS
    • 确认API Gateway基础路径映射中/api已关联到正确的API阶段
  2. 无效路径返回403:
    • 检查S3错误文档配置,或在Cloudfront中设置自定义错误页指向S3错误页面
    • 确认S3存储桶中存在对应路径的文件,或静态网站托管已开启

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 02:17:20