【问题标题】:API Gateway: Can't Enable CORSAPI 网关:无法启用 CORS
【发布时间】:2019-09-24 17:24:43
【问题描述】:

我无法在我的 API 网关实例上启用 CORS,这就是它的外观:

1.设置:

2。结果:

我尝试了很多方法,例如检查 DEFAULT 4XXDEFAULT 5XX 并按照某些帖子中的建议手动输入 Access-Control-Allow-Methods。

如果我将鼠标悬停在我得到的错误上:Invalid Response status code specified

我可以使用我的浏览器进行 GET,但 POST 只能通过 Postman 完成。我的 ReactJS 网站也不会发布,抛出:

Access to XMLHttpRequest at <ENDPOINT> from origin <S3-REACT-BUCKET> has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

我读到我的 React 应用程序应该发送 CORS 标头(还没有这样做),但我什至无法在 API 网关中启用 CORS!

【问题讨论】:

  • 服务器是否接受来自 URL 的调用?服务器是否接受您随请求发送的标头?服务器是否允许 GET/POST 方法?

标签: aws-lambda cors aws-api-gateway serverless-framework serverless


【解决方案1】:

那是因为没有方法响应

【讨论】:

    【解决方案2】:

    您不应在控制台上手动启用 CORS。而是遵循无服务器框架中的 guide

    简而言之:

    • 在您的 http 事件中设置 cors: true
    • 在您的处理程序中返回 {'Access-Control-Allow-Origin': '*','Access-Control-Allow-Credentials': true}

    【讨论】:

    • 我经常看到这条评论并通读了指南。你确定这仍然有效。这是一个相当简单的设置,但对我不起作用。我拆掉了整个 sls 堆栈并重新部署了一个函数和 cors: true。返回 Lambda 中的标头,但请求仍被阻止
    猜你喜欢
    • 1970-01-01
    • 2015-05-19
    • 2017-12-16
    • 2018-01-30
    • 2019-03-16
    • 2015-02-19
    • 2020-12-09
    • 2017-07-09
    • 2020-07-04
    相关资源
    最近更新 更多