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

CloudFront与多API Gateway映射路径配置问题求助

解决方案:CloudFront与多API Gateway路径映射问题

你的问题核心是CloudFront的Origin Path配置错误,导致路径前缀被重复添加。以下是具体修复步骤:

1. 修正CloudFront行为与源的配置

  • 针对每个API Gateway对应的CloudFront行为:
    • 路径模式设置为/users/*、/notifications/*、/analytics/*(对应各自的服务路径)
    • Origin Path必须留空:不要填写/users或其他路径前缀。如果填了Origin Path,CloudFront会将匹配到的请求路径(比如/users/123)拼接上Origin Path,最终转发为/users/users/123,这就是你遇到的路径重复问题。
    • 源域名直接填写对应API Gateway的执行域名(比如12345abc.execute-api.com),无需附加任何路径。

2. 配置API Gateway的基础路径映射

因为你已经移除了API Gateway的自定义域名绑定,需要为每个API Gateway设置基础路径映射,让API Gateway识别CloudFront转发过来的路径前缀:

  • 对于REST API:在API Gateway控制台的「自定义域名」页面,找到「基础路径映射」,添加一条映射,将基础路径设为/users(对应Users API GW),关联到对应的API和部署阶段。
  • 对于HTTP API:在「部署」->「阶段」页面,编辑阶段设置,将「基础路径」设为/users。
    这样,当CloudFront把/users/123转发到API Gateway执行域名时,API Gateway会自动剥离/users前缀,实际处理的是/123请求。

3. 验证与测试

  • 启用CloudFront的访问日志,查看转发到源的请求路径是否正确(应该是/users/123而非/users/users/123)。
  • 测试请求dev.api.example.com/users/123,确认能正确路由到Users API GW并返回预期结果。

额外注意事项

  • 确保CloudFront分发的「备用域名(CNAME)」已添加dev.api.example.com,并配置了对应的SSL证书(通过ACM在us-east-1区域申请)。
  • Route53的别名记录需正确指向CloudFront分发的域名,而非API Gateway。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 02:25:25