AWS 网络负载均衡和桥接模式

我在 AWS 上配置了两个负载均衡器: 1)具有一个 HTTPS 和 SSL 证书的目标组,指向端口 5000 上的 nodejs 应用程序的应用程序负载均衡器 2)网络负载均衡器,具有指向 nginx(用于动态证书生成的 openresty+lua)的 TCP 监听器,指向端口 80 和 443,将请求路由到端口 5000 上的 nodejs 应用程序

两个 ELB 指向同一集群和同一服务:

"loadBalancers": [
{
"containerName": "uppo-kb",
"targetGroupArn": "arn:aws:elasticloadbalancing:eu-central-1:496080483451:targetgroup/ecs-Uppo-uppo-kb/6965729827dccb83",
"containerPort": 5000
},
{
"containerName": "uppo-nginx",
"targetGroupArn": "arn:aws:elasticloadbalancing:eu-central-1:496080483451:targetgroup/nginx-80/1797fbb0e9dbc8db",
"containerPort": 80
},
{
"containerName": "uppo-nginx",
"targetGroupArn": "arn:aws:elasticloadbalancing:eu-central-1:496080483451:targetgroup/nginx-443/af722a3b9bf728a3",
"containerPort": 443
}
]

网络模式为桥接,并且实例已正确附加到上述每个目标组,并进行动态端口映射。ALB 正常工作,但 NLB 无法通过 TCP 或 HTTPS 解决健康检查,并且 curl 在路径上挂起。

*   Trying 3.126.131.185...
* TCP_NODELAY set

Nginx 配置正确,在本地运行容器或通过 ssh 访问 ec2 主机时,均可以正常工作,并且 nginx 响应 200 OK。 可能桥接模式在 NLB 上不受支持,或者 NLB 简单地没有开始将流量路由到那些不健康的实例?

点赞