2

最近开始使用网络负载均衡器,它侦听端口 80 并将流量转发到我的目标组。我的自动缩放组配置为将任何新目标添加到此目标组。

但是,我在目标 EC2 实例上的应用程序在端口 8001 上运行,而不是 80。所以我的目标应该在目标组中的端口 8001 下注册。自动缩放配置似乎不支持这一点。自动缩放创建的所有新实例都被添加为端口 80 的目标,并且无法自动指定应该使用哪个端口(对我来说是 8001)。

任何想法如何实现这一点?

4

2 回答 2

2

目标组中的端口定义就是您要查找的端口定义。目标组中的端口是目标接收流量的端口。侦听器上的端口是负载均衡器侦听请求的端口。

因此,您应该在侦听器上设置端口 80,在目标组上设置端口 8001。

于 2018-03-25T20:35:56.817 回答
2

您正在使用哪种应用程序(Web 服务器、应用程序服务器……)?也许 ALB 更适合您,因为它适用于 OSI 模型的第 7 层,因此它能够处理 HTTP 标头,例如。

回到你的问题;为了能够将流量转发到在端口 8001 上运行应用程序的 EC2 实例,您必须将目标组上的端口设置为 8001。Auto-scaling 组不知道它提供的 EC2 上运行的应用程序,也不知道该应用程序使用的端口。

所以最终流程是这样的:

LB 侦听端口 80 并将流量转发到端口 8001 上的目标组。然后此目标组将流量发送到端口 8001 上的目标(您的 EC2 实例)。

在此处输入图像描述

于 2018-03-25T20:36:05.747 回答