【发布时间】:2019-05-03 20:26:36
【问题描述】:
通过 Amplify CLI 添加了一个 API,该 API 调用读取发电机表的 lambda。
在 AWS 中部署后的第二天,它运行良好。今天早上起来 抛出 403 错误,没有进行任何更改:
获取 https://xxnxxtfxx.execute-api.eu-west-1.amazonaws.com/Prod/items 403
访问 XMLHttpRequest 在 'https://xxnxxtfxx.execute-api.eu-west-1.amazonaws.com/Prod/items' 从原产地 ''http://myproject-20181130113531--hostingbucket.s3-website-eu-west-1.amazonaws.com'' 已被 CORS 政策阻止:无“访问控制允许来源” 请求的资源上存在标头。
观察/行动
确保在 API Gateway 上启用了 CORS,重新部署 API。
从 API Gateway 测试 API 成功,它正确调用了 Lambda 函数
- Amplify 服务确实创建了用户对象,并在本地存储中持久化
-
在开发人员工具下调用 OPTIONS 看起来也不错:
常规设置:
请求网址:https://xxnxxtfxx.execute-api.eu-west-1.amazonaws.com/Prod/items
- 请求方法:选项
-
状态码:200
响应标头:
- access-control-allow-headers: Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token
- 访问控制允许方法:DELETE、GET、HEAD、OPTIONS、PATCH、POST、PUT
- 访问控制允许来源:*`
想知道为什么 403 会出现 CORS 错误。 有什么想法吗?让我感到困惑和害怕的是 在我醒来几个小时后没有任何变化,一切都失败了:-(
【问题讨论】:
标签: amazon-web-services aws-amplify amplifyjs