簡體   English   中英

是否可以使用 AWS Lambda 作為目標組使用 AWS ALB 進行重定向?

[英]Is it possible to redirect with AWS ALB using AWS Lambda as a target group?

我有一個目標組為 lambda 的 ALB。 本質上,執行邏輯檢查並返回響應的 lambda:

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

上面的響應將返回 502 bad gateway,這對調試問題沒有真正幫助。 Cloudwatch 說它返回上面的響應。 響應之前的邏輯工作得很好。 我將使用狀態代碼 200、內容類型 application/json 和調試消息進行測試,這些消息將正確返回給用戶。 我知道 ALB 有一個重定向偵聽器,但 lambda 必須通過邏輯 go 才能首先正確重定向某人,這需要秘密管理器的東西。 所以問題來了,有沒有其他方法可以使用 lambda 重定向 alb? 我嘗試搜索紀錄片,看看是否有將 lambda 作為目標群體的任何其他限制。 除了 1 mb 的有效載荷/請求和格式化響應有效載荷外,我沒有看到任何值得注意的東西。

可悲的是沒有。 執行任何重定向都不是 alb 中的 lambdas 角色。 如果您使用 CloudFront,則可以在您的分配中使用 lambda 函數來執行重定向。

你打算做的是可能的。 當您直接調用 lambda(例如從 AWS 管理控制台)時,您會收到什么錯誤消息?

我可以通過以下實現(節點運行時)使用 lambda 成功測試您的用例:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM