如何使用 AWS CDK 启用 CORS?我一直没有得到"Access-Control-Allow-Origin"



我使用aws cdk创建了一个lambda和apiggateway。from postman.

当我从浏览器发出post call时,我得到No "Access-Control-Allow-Origin"

所以我试图在API网关启用CORS,使用CDK。我是这样做的:

// users microservice api gateway
const apiGateway = new LambdaRestApi(this, "usersApi", {
restApiName: "Users Service",
handler: microServices.fn,
proxy: false,
});
// creating resources
const users = apiGateway.root.addResource("users");
users.addMethod("POST");
users.addCorsPreflight({
allowOrigins: ["*"],
allowHeaders: ["*"],
allowMethods: ["*"],
});

但我仍然得到No "Access-Control-Allow-Origin"
我错过了什么?如何通过cdk启用CORS ?

您的lambda必须在其响应中放置CORS标头。

例如:

return {
isBase64Encoded: false,
statusCode: 200,
body: JSON.stringify('success'),
headers: {
'Access-Control-Allow-Headers': 'Content-Type',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS,POST',
}
}

参考-参见Enabling CORS support for Lambda or HTTP proxy integrations部分

https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html

相关内容

  • 没有找到相关文章

最新更新