【发布时间】:2020-10-08 13:41:04
【问题描述】:
我有一个本地服务器,用于测试未来远程托管服务器的通信及其与 Lambda 无服务器 API 的通信。我向 API 发出的请求是一个 GET 方法,我目前配置了以下内容来处理跨站点通信。
使用无服务器框架,我在serverless.yml 文件中启用了cors: true
此外,响应设置为返回以下内容:
response = {
"statusCode": 200,
"headers": {
'Access-Control-Allow-Headers': 'Content-Type',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET'
},
"body": {
"message": "Authorization Successful!"
}
}
但是,从http://localhost:8000 到我在https://*id*.execute-api.us-east-1.amazonaws.com/prod/auth 托管的 API 的链接单击会传递错误消息:
Access to XMLHttpRequest at 'https://*id*.execute-api.us-east-1.amazonaws.com/prod/auth' from origin 'http://localhost:8000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
当我在 localhost:8000 上单击链接时获取此 API 时,是否应该向 GET 添加标头?我需要用这个AWS API Gateway 更新任何东西吗?从无服务器框架文档看来,cors: true 会负责这个设置
【问题讨论】:
标签: cors aws-api-gateway serverless-framework