当将cors:true选项放回serverless.yml时,为什么会出现错误?

时间:2019-05-09 16:10:55

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

要测试我是否需要在API网关中为Lambda代理启用CORS,我在serverless.yml中删除了cors:true定义。

然后当我将其放回原处时,出现以下错误:

  

您只能使用“ origin”或“ origins”,但不能同时使用两者来配置CORS。请检查文档以获取更多信息。

我在文档中找不到任何可以解释为什么我的代码会抛出该错误的内容。
我知道单行版本与多行版本是同义的:

cors:
            origins:
              - '*'
            headers:
              - Content-Type
              - X-Amz-Date
              - Authorization
              - X-Api-Key
              - X-Amz-Security-Token
            allowCredentials: false

按照:https://serverless.com/framework/docs/providers/aws/events/apigateway/#enabling-cors

它是否缓存了配置,现在它认为Im两次声明它,一次是“ origin”,另一次是“ origins”。

我不明白为什么我只是像以前那样在部署之间切换“ cors:true”行,为什么会出现该错误。

这是来自我的serverless.yml:

functions:
  submitApi:
    handler: handler.submit
    description: Cloud API integration to the Third-Party API
    events:
      - http:
          path: thirdParty
          method: post
          cors: true

更新: 此问题似乎是在无服务器项目中正在跟踪的错误,可在以下位置找到:https://github.com/serverless/serverless/issues/6098

0 个答案:

没有答案