Jas*_*per 14 amazon-web-services aws-lambda
我有一个AWS Lambda函数,它作为REST API公开.
当通过aws lambda控制台上的Test按钮调用它时,它可以正常工作.
当通过在线REST客户端调用它时,我收到403错误.它被创建为需要 - 无需身份验证(打开).
我错过了什么配置?
Dav*_*mon 16
据推测,Lambda通过AWS API网关公开.您在新的"无身份验证"API网关资源上获得403的一个原因是您尚未部署更改.
在API Gateway Console中,单击Actions下拉列表并选择Deploy API.
你应该好好去.
也许您正在向错误的端点发送请求.
我通过向https://example.com/locate发送POST请求获得403错误响应
但是,一旦我添加了阶段http://example.com/dev/locate并将更改部署到此API,它就可以正常工作,返回200响应.
希望有所帮助.
如果您从不同的域访问它,您必须首先确保在AWS API 网关上启用 CORS,因为它是 API 网关,它抛出 403 错误而不是 lambda 函数。您可以为方法或完整资源启用 CORS。选择操作,然后选择启用 CORS。如果资源不存在,这将向资源添加 OPTIONS 方法。
在 API 网关上启用 CORS 将确保所有响应标头都将 Access-Control-Allow-Origin 值设置为“*”(即允许所有来源,但您可以指定特定来源,例如http://localhost)。
始终确保您调用的是正确的 URL。您可以从API Gateway 的Stage部分或从 Lambda 函数获取 url (如果您已将 Lambda 函数设置为集成端点)
您可以在 Method 和 Integration 响应中看到设置的新标头。
| 归档时间: |
|
| 查看次数: |
12409 次 |
| 最近记录: |