我可以为所有lambda函数设置自定义响应标头吗?

时间:2018-04-05 01:48:14

标签: amazon-web-services aws-lambda

我正在使用lambda和CORS,我现在必须手动为每个lambda函数中的每个响应设置以下标题:

const response = {
    headers: {
        "Access-Control-Allow-Origin" : "*", // Required for CORS support to work
        "Access-Control-Allow-Credentials" : true // Required for cookies, authorization headers with HTTPS 
      },
  statusCode: 200,
  body: JSON.stringify(params.Item),
};

有没有办法将标头设置为我所有lambdas的默认响应?也许在API网关或其他地方,所以我不必为每一个响应手动添加它?

2 个答案:

答案 0 :(得分:1)

您应该在API网关处设置CORS处理。这样您就不必支付lambda来处理CORS OPTION请求。

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

答案 1 :(得分:0)

API网关可以帮助实现它,特别是当我们主要添加静态响应头时。

(1)转到资源> '方法响应'...为200(OK)HTTP状态(第一张图像)添加响应标头

AWS API Gateway, add custom response headers

(2)转到资源> '整合响应'...为您的值添加映射(第二张图片)

eAWS API Gateway, add custom response headers

对于响应头中的动态数据,lambda效果最佳