【发布时间】:2020-07-04 21:26:34
【问题描述】:
我正在使用新的 API Gateway HTTP,它可以在配置期间让您添加 CORS。所以我设置了 Access-Control-Allow-Origin Header 设置 *.
但是,当我使用 Postman 发出请求时,我看不到该标头,这导致我的 VueJS Axios 请求失败。
我之前使用了 Lambda 代理集成,并在我的 Lambda 中执行了以下操作
"headers": {
"Access-Control-Allow-Origin": "*"
}
然而,新的 HTTP API 似乎并没有实现 CORS。也许我错过了一些简单的东西。
--编辑--
所以我一直在寻找答案,并遇到了 Serverless 人员的博客文章,他们设置了以下内容
It’ll ensure following headers:
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers:
Content-Type, X-Amz-Date, Authorization, X-Api-Key, X-Amz-Security-Token, X-Amz-User-Agent
Access-Control-Allow-Methods:
OPTIONS, and all the methods defined in your routes (GET, POST, etc.)
我已经尝试了这些并重新部署,但仍然只能获得标准标题
谢谢
【问题讨论】:
-
自添加 CORS 设置后您是否重新部署?
-
@ydaetskcoR 它被设置为 AutoDeploy,但以防万一这不起作用,我部署到一个新阶段并尝试了,但仍然没有标题
-
我试图复制您的问题,但无论如何都无法取出 CORS 标头。还尝试从浏览器控制台运行请求。我建议你向 AWS 开一张支持票。
-
@michaelbahr 似乎我的 AWS 账户无法创建技术支持工单。
-
我没有使用新的HTTP api。我对 Lambda 集成有不同的体验。我发现在 Options 请求中我需要 'access-control-allow-origin': "", 'access-control-allow-headers': "content-type", 'access-control-allow-methods' :“获取、放置、发布、删除”。在其他请求上,只需 'access-control-allow-origin': "", 'access-control-allow-headers': "content-type"
标签: amazon-web-services api aws-lambda cors