AWS Api Gateway 403 错误 - 从所有来源启用 CORS

Rye*_*Guy 2 amazon-web-services aws-lambda aws-api-gateway angular

我创建了一个 lambda 函数,可以通过 API 网关访问该函数。但是,每当发出发布请求时,我都会收到以下错误

在此输入图像描述

当我导航到控制台并查看 API Gateway 时,我有

在此输入图像描述

最后,我的代码(Angular2)确实通过以下方式将适当的标头添加到请求中:

var headers = new HttpHeaders();
headers.append('Content-Type', 'application/json');

this.http.post('https://execute-api.us-east-1.amazonaws.com/prod/LambdaFunction', this.email, { headers: headers })
  .subscribe(data => console.log(data),
    err => console.log(err));
Run Code Online (Sandbox Code Playgroud)

知道如何解决这个问题吗?

Kan*_*yan 6

看来你找错了方向。

您无法在 403 上启用 CORS,因为它是由 APIGateway 发送的。问题是您正在尝试访问 APIGateway 无法访问的 URL。

如果您的 URL 正确并且 POST 有效,您仍然会在 CORS 调用中收到 200 OK,但您将无法访问收到的内容。(这是浏览器标准,以避免在返回标头上没有有效权限的情况下进行 CORS 调用)