AWS Lambda 默认情况下不支持跨源资源共享(CORS),因此对于包含跨域请求的应用程序可能会出现问题。要解决这个问题,需要自己实现 CORS 控制。
以下是一些示例代码,展示如何使用 Node.js 来允许跨域资源访问:
exports.handler = (event, context, callback) => {
const response = {
statusCode: 200,
headers: {
"Access-Control-Allow-Origin": "*", // 允许所有域名访问
"Access-Control-Allow-Headers": "Content-Type" // 允许特定 header
},
body: JSON.stringify({message: "Hello World!"})
};
callback(null, response);
};
当 Lambda 根据请求作出响应时,可以配置 headers 属性来控制允许哪些请求访问该 Lambda 函数。在示例代码中,在返回的响应中添加了 "Access-Control-Allow-Origin" 和 "Access-Control-Allow-Headers" 头,以允许所有域名的跨域请求访问该 Lambda 函数。
请注意,如果您想限制访问,可以修改 "Access-Control-Allow-Origin" 的值。
这是一种基本的实现方法,您可以根据您的具体情况进行修改和完善。