[英]How to rewrite target url within an AWS ALB Ingress Controller?
[英]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.