2

我有两个 EC2 实例在端口 80 上运行网站。

是否可以为这两个实例/服务使用/配置 1 个负载均衡器?当我尝试在现有负载均衡器上添加侦听器时,它显示“您可能没有定义重复的负载均衡器端口”。

或者我应该使用 2 个负载均衡器,每个实例一个?

4

1 回答 1

10

负载均衡器通过它们侦听的传入流量端口定义侦听器。当客户端连接到达某个端口(即 443 或 80)上的负载均衡器时,侦听器将该请求转发到目标组。要让端口 80 上的侦听器将连接转发到多个实例,您需要做的就是创建一个包含这些实例的目标组。 在此处输入图像描述

面向公众的网站最常见的方法是使用Amazon Certificate Manager之类的工具为网站创建 TLS 证书。然后他们将该证书加载到他们的负载均衡器中并在端口 443(HTTPS 的典型端口)上侦听,并通过 HTTP(通常是端口 80)将连接传递给目标组。这通常称为 TLS 或 SSL 终止。


如果实例托管不同的网站,但您想根据提交的主机名(即 example.com 和 example1.com)进行路由,那么您可以为每个网站创建一个单独的目标组,并使用应用程序负载均衡器 (ALB) 进行基于路由在请求者提供的主机名上。

这可以在您创建 ALB 后通过转到 ALB 子控制台并修改侦听器规则来完成,类似于下面的屏幕截图。

编辑监听器规则 规则

要为每个主机提供单独的证书,您还需要将这些证书添加到侦听器中,正如我在概述该功能的博客文章中所写的那样。

证书更改的动画 gif

于 2018-11-15T15:52:50.420 回答