gpt4 book ai didi

serverless-framework - 无服务器 yml 上的 CORS

转载 作者:行者123 更新时间:2023-12-04 12:51:00 25 4
gpt4 key购买 nike

我有一个 React 应用程序并尝试从 aws 访问无服务器。但我有以下错误

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://www.test.com' is therefore not allowed access. The response had HTTP status code 502.

终点网址是 https://key.execute-api.ap-southeast-2.amazonaws.com/dev/samplefunction

serverless.yml 上的设置是
login:
handler: login.login
events:
- http:
path: login
method: post
cors:
origin: 'https://admin.differentdomain.com'
headers:
- MY_CUSTOM_HEADER
- Content-Type
- X-Amz-Date
- Authorization
- X-Api-Key
- X-Amz-Security-Token

还有其他地方需要做CORS配置吗?

最佳答案

此处详细解释了 Serverless 中的 CORS 设置:https://serverless.com/blog/cors-api-gateway-survival-guide/

除了 serverless.yml 中的配置(用于预检请求),您还需要返回 header Access-Control-Allow-OriginAccess-Control-Allow-Credentials从你的代码。在您的示例和 Node.js 实现中:

  return {
statusCode: 200,
headers: {
'Access-Control-Allow-Origin': 'https://admin.differentdomain.com',
'Access-Control-Allow-Credentials': true,
},
body: {},
};

确保在第一个 header 中包含“https”部分,我之前偶然发现了这一点。

关于serverless-framework - 无服务器 yml 上的 CORS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50761591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com