AWS Load Balancer到同一服务器上的多个端口,没有PAT

时间:2018-08-17 23:41:19

标签: amazon-web-services

我有一个EC2网络服务器,该服务器正在提供一个监听端口80、8080、443和8443的应用程序。外部客户端需要在这些端口上与其通信(无端口转换)。我试图将其放在负载均衡器后面,但是过多的必需端口使我感到困惑。

我有一个ALB监听4个端口,所有端口都转发到同一目标组。 “目标”组的默认端口为443,但已将Web服务器注册为4个不同的目标,每个目标一个(80,8080,443,8443)。

这是解决此问题的正确方法吗?流量似乎无法正确流动。我担心ALB在443上接收流量,并将其转发到服务器的其他端口,从注册目标中选择端口。我是否需要4个不同的目标组,每个目标组只有1个注册目标?

1 个答案:

答案 0 :(得分:3)

如果您不希望进行任何端口转换,则需要使用相同的端口号(80-> 80、443-> 443,...)将侦听器设置为连接到后端。

因此,在您的设置中,您将需要在80、443、8080、8443端口上侦听后端。

您将需要设置ALB侦听器以侦听80、443、8080、8443。您的侦听器会将请求转发到正在侦听的同一端口(80-> 80、443-> 443,...)。

确保正确设置侦听器的类型以匹配您的协议(HTTP或HTTTP)。如果您的侦听器配置为443-> 443和HTTPS-> HTTPS,那么您将需要在后端配置SSL证书。否则,您可以将侦听器配置为SSL终止,并对HTTP(443)进行HTTPS(443)处理,但是请确保在这种情况下未为HTTPS配置后端。

乍一看似乎令人困惑-事实并非如此。只需将侦听器视为中间人即可。他可以重复您的请求(HTTPS-> HTTPS)或翻译(HTTPS-> HTTP)。侦听器可以在一个端口(80)上侦听并转发到另一端口(8080)。这些项目中的每一项都是可配置的。