代码之家  ›  专栏  ›  技术社区  ›  RyeGuy

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

  •  2
  • RyeGuy  · 技术社区  · 7 年前

    我创建了一个lambda函数,可以通过API网关进行访问。然而,每当发出post请求时,我都会出现以下错误

    enter image description here

    当我导航到was控制台并查看API网关时

    enter image description here

    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));
    

    3 回复  |  直到 7 年前
        1
  •  5
  •   Kannaiyan    7 年前

    看来你选错了人。

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

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

        2
  •  1
  •   mylnz    5 年前

    我遇到了相同的错误,我通过以下路径修复了问题:

    • 启用CORS选项以添加“Access Control Allow Origin”:“*”标题 对你的回应。不要将authonticater添加到选项资源中。
    • (仅用于在浏览器上测试。当应用程序在上运行时,你不需要这个。) 文件系统)
    • 检查您的请求url/endpoint以确保其正常。
        3
  •  -2
  •   Dileep    5 年前

    先试试这个

    1. 启用CORS选项,将“Access Control Allow Origin”:“*”标题添加到响应中。不要将authonticater添加到选项资源中。
    2. 将插件添加到web浏览器以覆盖浏览器的cors设置。(只是为了在浏览器上测试。当应用程序在文件系统上运行时,你不需要这个)

    如果无法从上面解决此问题,请使用以下选项。在我的情况下,如果通过以下步骤解决。

    1. 重新部署API。

      enter image description here