我使用lambda作为AWS API网关和lambda代理集成的后端,并希望将CORS添加到响应头中。
根据文件:
http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html
但是,您必须依赖后端来返回访问控制允许源标头,因为代理集成禁用了集成响应。
如何用Python在我的lambda函数中编程?
您需要将方法“选项”添加到您的api网关并使用代理lambda…返回
result.headers = { "Access-Control-Allow-Origin": "domain.com" }
因此,当浏览器首次向服务器调用选项时,它将返回 CORS 标头。
问题是,默认情况下,您的lambda方法将被“any”方法调用,因此您需要更改默认方法以获取、发布或任何您需要的内容
注意:您也可以使用相同的方法,如任何或选项、get、post,如果是选项调用,则只返回状态200和cors头。这取决于您是否为get、post等使用auth方法
Lambda控制台中有一个选项“启用CORS”,如果您只是使用没有任何奇怪的lambda
要创建选项方法,您可以从网关启用它
它将在资源(endpoint)上创建方法选项
对于GET/POST其他HTTP谓词,您需要从代码中管理它,对于python
return {
'statusCode': "200",
'body': json.dumps({"test" : "123"}),
'headers': {
"Content-Type" : "application/json",
"Access-Control-Allow-Origin" : "*",
"Allow" : "GET, OPTIONS, POST",
"Access-Control-Allow-Methods" : "GET, OPTIONS, POST",
"Access-Control-Allow-Headers" : "*"
}
}
对于其他未处理的情况,如集成超时 (504) 或代码中的错误 (502),您可以在 API 网关级别配置默认响应标头。请参阅默认响应标头:AWS API 网关,带代理集成
我正在尝试使用< code >传递一些自定义的HTTP头 我试过两种配置。第一个具有“< code > mapped-request-headers ”属性: 第二个具有“”属性,具有相对配置: 但在这两种情况下,远程应用程序加载的消息头如下: 没有我试图添加到请求消息中的“test”头的跟踪。 向 中? 事实上,标题似乎在GenericMessage中“消失”了: 我不明白为什么HTTP请求中会
问题内容: 我已经开发了一个Restfull应用程序,我想添加另一个Web应用程序来使用其服务,因此我进行了以下Ajax调用: 我得到这个例外: 对象{readyState:0,状态:0,statusText:“ SyntaxError:无法执行’setRequestHeader’…-Origin: ‘不是有效的HTTP标头字段名称。”}错误DOMException:无法在’XMLHttpRequ
问题内容: 我有一个Flask Web应用程序,它使用render_template如下,我需要在响应中添加一个Content-Security-Policy作为附加的HTTP响应标头。我尝试了以下方法,但都失败了,并给了我500。 1。 2。 这里有什么问题? 在终端上,以localhost:3001的身份访问Web应用程序时,我看到以下内容 127.0.0.1–[2015年4月6日01:45:
问题内容: 我正在写一些演示Web服务器,提供静态html,css和javascript。服务器看起来像 我的客户端javascript使ajax调用到其他服务器。我该如何添加 对我的服务器响应,以便客户端javascript可以进行ajax调用? 问题答案: 自从Express宠坏了我以来,弄清楚这个问题有点麻烦。 看看enable cors。基本上,您需要做的是添加到要启用cors的域中。re
我非常确定“Expires”是有效的HTTP响应头类型。但是当我尝试在代码中设置它时:(这是在ActionFilter.OnActionExecuted方法中) 我最后有一个例外: InvalidOperationException:错误使用的标头名称。确保请求头与HttpRequestMessage一起使用,响应头与HttpResponseMessage一起使用,内容头与HttpContent对
添加HTTP最简单的方法是什么。我的程序中的outboundGateway头? 我想做的是: 我首先对URL执行HTTP GET 然后我得到JSON 我提取session变量的值,并将其添加到下一个HTTP GET作为session头变量。 目前我有工作代码,但我想我可以做得更容易吗?我的实现 > 然后,该实现使用enrichHeaders方法将session变量添加到集成流消息头中 然后,该实现