Ale*_*ira 11 amazon-web-services cors aws-lambda aws-api-gateway
我正在尝试使用AWS API Gateway创建新服务,但我发现浏览器会自动调用OPTIONS方法以获取CORS信息.
问题是AWS API Gateway不提供配置CORS头的本机方式.
是否可以创建Lambda脚本以响应OPTIONS方法?
sqr*_*ren 27
如果启用了lambda-proxy,则需要手动设置CORS标头:
module.exports.hello = function(event, context, callback) {
const response = {
statusCode: 200,
headers: {
"Access-Control-Allow-Origin" : "*", // Required for CORS support to work
"Access-Control-Allow-Credentials" : true // Required for cookies, authorization headers with HTTPS
},
body: JSON.stringify({ "message": "Hello World!" })
};
callback(null, response);
};
Run Code Online (Sandbox Code Playgroud)
https://serverless.com/framework/docs/providers/aws/events/apigateway#enabling-cors
如果使用{proxy+}
端点,则必须在Lambda函数中处理CORS HTTP请求。实现取决于您使用的框架。对于Express,最简单的解决方案是仅使用Express CORS中间件。
如果您不想通过来处理CORS
请求Lambda
,请尝试将您的设置更改为在级别Lambda Method
上处理。CORS
API Gateway
这是有关在AWS API Gateway上进行CORS设置的详细官方教程。
同样重要的是,您必须允许标题X-Api-Key
中的标题,Access-Control-Allow-Headers
否则身份验证将不起作用,并且会出现错误。
编辑: 2015年11月,API网关团队添加了一项新功能,以简化CORS设置。
归档时间: |
|
查看次数: |
16824 次 |
最近记录: |