将安全性 http headers 添加到 aws lambda 函数

adding security http headers to aws lambda function

我们有一个简单的应用程序结构,我们的 ReactJs front-end 向 api 网关发出请求,后者使用 lambda 函数执行 proxy-integration。由于我们的 api 网关在没有任何修改的情况下传递请求,并且在向客户返回响应时执行相同的操作,因此我们要添加 http 安全性 headers 的地方将在 lambda 函数本身中。我已经对如何实现它做了一些研究,但我在 Google 中搜索的所有答案都提到 lambda@Edge+Cloudfront 类似于 this post 我们根本不使用它,这是否意味着我们有通过添加这两个东西来改变我们的结构?谢谢

您引用的文章假定后端是静态的(例如 S3)并且无法设置 headers。这就是使用 Lambda@Edge 的原因。

听起来您当前的设置无需任何更改就可以正常工作...您是否尝试在代码中添加 headers?

我的代码非常适合 APIGW + Lambda(代理集成)组合。

exports.handler = async function (event) {
  var response = {
    statusCode: 200,
    headers: {
      'Content-Type': 'application/json; charset=utf-8',
      'X-My-Header': 'whatever'
    },
    body: JSON.stringify({status: 'OK'}),
  }
  
  return response
}

Add HSTS header in AWS Lambda.