【发布时间】:2019-10-24 17:56:57
【问题描述】:
我们有一个 ALB 负载平衡 2 个目标。但是我们经常遇到来自 ALB 的 502 响应,这会中断 UI 以引发错误。我们的应用程序是基于 node js 运行的 UI 并使用 socket.io。
来自 ALB 访问日志的示例日志。
https 2019-06-10T09:29:46.987095Z app/DES-G1-USE4-ext-elb/7c8fddfc050d66f6 184.51.199.55:55418 10.72.72.155:8888 0.000 8.697 -1 502 - 876 485 "GET https://designer-use4.genesyscloud.com:443/socket.io/?EIO=3&transport=polling&t=Mj0kC0w HTTP/1.1" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 arn:aws:elasticloadbalancing:us-east-1:361190373704:targetgroup/DES-G1-USE4-tg-desg/4cc8feabb9ee8f89 "Root=1-5cfe2302-b19c6d5059c2fc6096e048e0" "-" "session-reused" 0 2019-06-10T09:29:38.289000Z "forward" "-" "-"
这里的-1 502 - 表示请求被ELB转发到后端,但目标没有响应。并且连接是黑白 ELB 并且目标以某种方式关闭。根据https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-access-logs.html。
在我们的应用程序日志中,没有此请求到达我们的应用程序的痕迹。
请帮助我们从 ALB 调试此问题。
【问题讨论】:
-
-1 502 - 这个显示ELB可能已经从后端收到RESET,因为它正在使用现有的连接,检查后端的keepalive是否高于ELB。
-
我遇到了同样的问题,我的后端超时 (65s) 已经大于 ALB 空闲超时 (60s)。你的解决方案是什么?
标签: amazon-elb