【问题标题】: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”。

    编辑:请参阅下面迈克尔关于防止缓存响应的评论。

    瞧。

    【讨论】:

    • 我也期待Origin
    • 这应该是正确的解决方案。您可能还需要更改 Error Caching Minimum TTL to 0,以免尝试针对缓存的错误响应进行故障排除。
    猜你喜欢
    • 1970-01-01
    • 2019-07-06
    • 2018-07-06
    • 2021-11-10
    • 1970-01-01
    • 2018-05-22
    • 2019-02-22
    • 1970-01-01
    • 2015-05-08
    相关资源
    最近更新 更多