【发布时间】:2019-05-29 10:09:43
【问题描述】:
我已经设置了一个 AWS Lambda 函数,并尝试从前端进行访问。它在浏览器中运行良好,并返回我期望的响应。当我尝试从localhost 访问它时,我得到一个 403。我尝试按照here 和here 概述的步骤进行操作(没有像一些评论者提到的那样吹走我的整个 API),但无济于事。我在所有更改后重新部署。启用 CORS 后,我不再收到 403,而是收到 415。不确定下一步该怎么做,因为 Cloudwatch 日志中没有任何内容。
更多细节:我正在使用 Lambda:
我有一个 GET 方法(启用 CORS 后出现“选项”):
当我点击“启用 CORS”时会发生以下情况:
因为它在屏幕截图中被截断,这里是完整的标题列表:'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token'
这是我在前端调用 lambda 的方式:
sendVerificationCode() {
let data = {
paramOne: x,
paramTwo: 'string',
paramThree: 'string'
}
return this.get('ajax').request('https://something.execute-api.us-east-1.amazonaws.com/beta/', {
host: 'https://something.execute-api.us-east-1.amazonaws.com',
method: 'GET',
data: data
}).then((response) => {
console.log('response', response)
});
}
【问题讨论】:
-
Hii kira 我认为在您应该使用 lambda 代理并手动发送 cors 标头之前已经问过这个问题,就像接受的答案中提到的那样
-
您好!你能解释一下为什么我应该使用 Lambda 代理而不是 Lambda 吗?一定有办法用 Lambda 做到这一点。
-
我这样说是因为我自己在没有 lambda 代理的情况下尝试了很多,经过很多努力我失败并切换到 lambda 代理,其他人也发生了同样的事情
标签: amazon-web-services aws-lambda aws-api-gateway