【问题标题】:Is it possible to redirect with AWS ALB using AWS Lambda as a target group?是否可以使用 AWS Lambda 作为目标组使用 AWS ALB 进行重定向?
【发布时间】:2023-01-13 00:13:16
【问题描述】:

我有一个以 lambda 作为目标组的 ALB。本质上,执行逻辑检查并返回响应的 lambda:

{
  'statusCode': 301,
  'headers': {
     'Location': url,
  },
  'body': null,
  'isBase64Encoded': false
}

上面的响应将返回 502 bad gateway,这对调试问题没有真正帮助。 Cloudwatch 说它返回上面的响应。响应之前的逻辑工作得很好。我将使用状态代码 200、内容类型 application/json 和调试消息进行测试,这些消息将正确返回给用户。我知道 ALB 有一个用于重定向的侦听器,但 lambda 必须通过逻辑才能首先正确重定向某人,这需要秘密管理器的东西。所以问题来了,还有其他方法可以使用 lambda 重定向 alb 吗?我尝试搜索纪录片,看看是否有将 lambda 作为目标群体的任何其他限制。除了 1 mb 的有效载荷/请求和格式化响应有效载荷外,我没有看到任何值得注意的东西。

【问题讨论】:

    标签: amazon-web-services aws-lambda aws-application-load-balancer


    【解决方案1】:

    可悲的是没有。执行任何重定向不是 alb 中的 lambdas 角色。如果您使用 CloudFront,则可以在您的分配中使用 lambda 函数来进行重定向。

    【讨论】:

      【解决方案2】:

      你打算做的是可能的。 当您直接调用 lambda(例如从 AWS 管理控制台)时,您会收到什么错误消息?

      我可以通过以下实现(节点运行时)使用 lambda 成功测试您的用例:

      export const handler = async (event) => ({
        statusCode: 302,
        headers: {
          Location: 'https://your-url/'
        }
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-02-07
        • 1970-01-01
        • 2018-05-10
        • 2021-05-15
        • 2018-12-21
        • 2020-01-05
        • 2018-10-08
        • 2018-04-21
        相关资源
        最近更新 更多