gpt4 book ai didi

amazon-web-services - CORS 击败 AWS LAMBDA :(

转载 作者:行者123 更新时间:2023-12-03 19:41:52 27 4
gpt4 key购买 nike

我已经阅读了很多关于 CORS/Lambda/AWS API 网关配置的内容,包括 AWS 的设置帮助:
http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html
还有这篇很棒的文章:
https://serverless.com/framework/docs/providers/aws/events/apigateway/

但是,CORS 仍然打败了我的 API Gateway/Lambda 函数,我无法弄清楚。希望得到一些帮助。

它的主要内容似乎是 API 网关将请求代理到 Lambda 上,除了在 API 网关中启用 CORS 之外,您还需要在 Lambda 函数中设置 "Access-Control-Allow-Origin": "*" header ,我已经做了。我收到 200 响应,并且可以看到从我的 Lambda 函数正确发送回 header 。但是,Chrome/FF 仍然给我一个 CORS 错误。知道为什么吗?

这是我的请求 header :
Host: myawshost.execute-api.us-west-2.amazonaws.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:50.0) Gecko/20100101 Firefox/50.0
Accept: application/json, text/javascript
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded
Origin: null
DNT: 1
Connection: keep-alive

以及 200 个响应 header :
Access-Control-Allow-Origin: *
Connection: keep-alive
Content-Length: 74
Content-Type: application/json
Date: Fri, 23 Dec 2016 08:35:02 GMT
...

这一切看起来不错而且很成功,对吧?但是,我没有从 Lambda 返回 JSON,并且控制台中出现此错误消息:
"Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://myawshost.execute-api.us-west-2.amazonaws.com/prod/view?id=272. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing). (unknown)"
但是Access-Control-Allow-Origin不缺!我可以在回复中看到它。

有什么想法吗?

最佳答案

我也花了很多时间研究这个,它对我有用的是在 lambda 处理程序(Python)中返回以下内容:

return {
'statusCode': status_code,
'headers': {
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*'
},
'body': status_message if status_code == 200 else 'Failure'
}

关于amazon-web-services - CORS 击败 AWS LAMBDA :(,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41298079/

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