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

如何通过CloudFront特定路径调用API Gateway及问题排查

解决方案:CloudFront整合API Gateway及跨域Cookie问题

一、解决无法添加API Gateway作为CloudFront源的问题

  • 区分API Gateway类型:CloudFront控制台的源选择列表仅显示边缘优化型(Edge-Optimized)的API Gateway。如果你的API是区域型(Regional),需要手动添加自定义源:
    1. 在CloudFront源配置中选择「自定义源」
    2. 输入API Gateway的区域域名(格式类似xxx.execute-api.us-east-1.amazonaws.com,可从API Gateway控制台的「阶段」页面获取)
    3. 端口选择443,协议选择HTTPS
  • 配置访问权限:
    • 推荐使用Origin Access Control(OAC):在CloudFront中创建OAC,关联到API Gateway源,然后在API Gateway的资源策略中添加允许OAC访问的规则
    • 若使用区域型API,也可以直接在资源策略中允许CloudFront的分发ARN访问

二、跨域Cookie问题的最终整合方案

当API Gateway通过CloudFront特定路径提供服务后,按以下步骤确保代理认证器的Cookie正常工作:

  • CloudFront行为配置:
    1. 创建对应路径(如/api/*)的行为规则
    2. 在「缓存键和源请求」中,设置转发Cookie为「所有」(或指定代理认证器依赖的Cookie名称)
    3. 转发必要的请求头,至少包含Host、X-Forwarded-For、X-Forwarded-Proto
  • Cookie域名统一:将代理认证器生成的Cookie的Domain设置为CloudFront的域名somethingelse.com,Path设置为/api/*(或根路径/)
  • CORS适配:
    • 若前端直接请求CloudFront域名,确保API Gateway的CORS配置允许somethingelse.com作为源
    • 也可在CloudFront的响应头策略中添加Access-Control-Allow-Origin等CORS头,统一处理跨域

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 14:12:13