【问题标题】:Can't enable CORS on Lambda + API Gateway + Cloudfront on the Cloudfront layer无法在 Cloudfront 层上的 Lambda + API Gateway + Cloudfront 上启用 CORS
【发布时间】:2018-12-29 22:44:44
【问题描述】:
我部署了一个 lambda,它本身在其响应中返回一个 'Access-Control-Allow-Origin': '*' 标头。
我从 API 网关调用它。调用 API 网关 URL 时,CORS 配置没问题。
我将 CloudFront 放在 API 前面,但现在我无法访问 API,因为 CORS 配置似乎被 CloudFront 覆盖,并且我不确定在 CloudFront 中的何处添加自定义标头。
如何在 CloudFront 中启用 CORS?
【问题讨论】:
标签:
amazon-web-services
aws-lambda
aws-api-gateway
amazon-cloudfront
【解决方案1】:
进入您的 CloudFront 分配,单击行为,选择每个行为并单击编辑,您将看到标题为白名单标题的部分。选择 'Access-Control-Request-Headers' 和 'Access-Control-request-methods' 并点击 Add,同时添加 Origin(感谢 Michael 的发现),右下角点击“yes, edit”。
编辑:请参阅下面迈克尔关于防止缓存响应的评论。
瞧。