要测试我是否需要在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