Aws lambda HTTPApi+;无服务器框架&x2B;API网关CORS不工作

Aws lambda HTTPApi+;无服务器框架&x2B;API网关CORS不工作,aws-lambda,aws-api-gateway,serverless-framework,amazon-api-gateway,aws-http-api,Aws Lambda,Aws Api Gateway,Serverless Framework,Amazon Api Gateway,Aws Http Api,我使用无服务器框架创建了一个HTTPApi网关。但对于某些路线,CORS不起作用 provider: name: aws runtime: nodejs12.x stage: dev region: us-west-2 timeout: 29 httpApi: cors: allowedOrigins: - '*' allowedMethods: - GET - OPTIONS

我使用无服务器框架创建了一个HTTPApi网关。但对于某些路线,CORS不起作用

provider:
  name: aws
  runtime: nodejs12.x
  stage: dev
  region: us-west-2
  timeout: 29
  httpApi:
    cors:
      allowedOrigins:
        - '*'
      allowedMethods:
        - GET
        - OPTIONS
        - POST
        - PUT
        - DELETE
      allowedHeaders:
        - Content-Type
        - X-Amz-Date
        - Authorization
        - X-Api-Key
        - X-Amz-Security-Token
        - X-Amz-User-Agent
        - X-Transaction-Key
        - Access-Control-Allow-Origin
我尝试在提供者上设置
cors:true
选项,但仍然不起作用。 这是在所有路径上返回的响应,无论是4xx还是2xx代码

return {
    statusCode: StatusCode,
    headers: {
      "Content-Type": "application/json",
      "Access-Control-Allow-Origin": "*",
      "Access-Control-Allow-Credentials" : true,
      "Access-Control-Allow-Headers" : "*",
      "Access-Control-Allow-Methods": "OPTIONS,POST,GET,PUT,DELETE"
    },
    body: JSON.stringify(Res, null, 2),
  };
如果我检查控制台 然而, 而且,不起作用的具有
X-Transaction-Key
标题,并且
选项
不返回
访问控制允许标题:授权、内容类型、X-amz-date、X-amz-security-token、X-amz-user-agent、X-api-Key、X-Transaction-Key
标题

我错过了什么?
提前感谢

您是否尝试过修复函数事件中的“cors:true”值,如中所示?

我遇到了类似的问题。在拔了三天头发之后。我发现了我的问题。一切正常,除了,在我的客户端中,很少有指向我的服务器API的错误URL(拼写错误)。这就是为什么很少有API正常,也很少有API工作不正常的原因

修复到正确的URL后,一切都正常这是我学到的东西,希望有一天它能帮助别人:

  • 检查您是否在serverless.yml文件的cors部分,下面是一个示例

     cors:
        origin: '*'
        headers:
          - Content-Type
          - X-Amz-Date
          - Authorization
          - X-Api-Key
          - X-Amz-Security-Token
        allowCredentials: false
    
  • 检查Lamdba,查看问题包含的正确响应标题

  • 其他故障排除工具:

    希望这将是有益的,谢谢


    快乐编码

    转到AWS中的API网关并在所有资源上启用CORS您解决过这个错误吗?是的,但还是同一个错误=(是的,这是正确的。我后来发现了问题,并用同样的方法解决了问题,但没有更新我的问题。我认为每当向请求中添加非标准或自定义标题时,就会发生这种情况。我的问题是,我有一个额外的标题