网络负载均衡器的侦听器 - Elastic Load Balancing

网络负载均衡器的侦听器

侦听器是一个使用您配置的协议和端口检查连接请求的进程。您必须至少添加一个侦听器,然后才能开始使用网络负载均衡器。如果您的负载均衡器没有侦听器,则无法接收来自客户端的流量。您为侦听器定义的规则决定了负载均衡器会如何将请求路由到您注册的目标(例如 EC2 实例)。

侦听器配置

侦听器支持以下协议和端口:

  • 协议:TCP、TLS、UDP TCP_UDP

  • 端口:1-65535

可以使用 TLS 侦听器将加密和解密的工作交给负载均衡器完成,以便应用程序可以专注于其业务逻辑。如果侦听器协议为 TLS,您必须在侦听器上确切地部署一个 SSL 服务器证书。有关更多信息,请参阅 服务器证书

如果必须确保目标解密 TLS 流量而不是负载均衡器,则可以在端口 443 上创建 TCP 侦听器,而不是创建 TLS 侦听器。通过 TCP 侦听器,负载均衡器将加密流量传递到目标,而不会对其进行解密。

要在同一端口上同时支持 TCP 和 UDP,请创建一个 TCP_UDP 侦听器。TCP_UDP 侦听器的目标组必须使用 TCP_UDP 协议。

对于 dualstack Network Load Balancer,仅支持 TCP 和 TLS 协议。

可以将 WebSockets 与您的侦听器结合使用。

发送到已配置侦听器的所有网络流量都归类为预期流量。与配置的侦听器不匹配的网络流量被归类为非预期流量。除类型 3 以外的 ICMP 请求也被视为意外流量。网络负载均衡器会丢弃意外流量,而不会将其转发到任何目标。如果发送到已配置侦听器的侦听器端口的 TCP 数据包不是新的连接,或者不是有效 TCP 连接的一部分,则将通过 TCP 重置 (RST) 拒绝。

有关更多信息,请参阅 Elastic Load Balancing 用户指南中的请求路由

侦听器属性

网络负载均衡器的侦听器属性如下:

tcp.idle_timeout.seconds

tcp 空闲超时值(以秒为单位)。有效范围为 60-6000 秒。默认值为 350 秒。

有关更多信息,请参阅 更新空闲超时

侦听器规则

在创建侦听器时,将会指定用于路由请求的规则。该规则将请求转发到指定的目标组。要更新此规则,请参阅 更新网络负载均衡器的侦听器

安全侦听器

要使用 TLS 侦听器,您必须在负载均衡器上部署至少一个服务器证书。负载均衡器先使用此服务器证书终止前端连接,再解密来自客户端的请求,然后将请求发送到目标。注意,如果您需要将加密流量传输至目标且负载均衡器不对其进行解密,则可以在端口 443 上创建 TCP 侦听器,而不是创建 TLS 侦听器。负载均衡器将按原样将请求传输至目标,而不解密请求。

Elastic Load Balancing 使用 TLS 协商配置(称为安全策略)在客户端与负载均衡器之间协商 TLS 连接。安全策略是协议和密码的组合。协议在客户端与服务器之间建立安全连接,确保在客户端与负载均衡器之间传递的所有数据都是私密数据。密码是使用加密密钥创建编码消息的加密算法。协议使用多种密码对 Internet 上的数据进行加密。在 连接协商过程中,客户端和负载均衡器会按首选项顺序提供各自支持的密码和协议的列表。为安全连接选择服务器列表中与任一客户端的密码匹配的第一个密码。

网络负载均衡器不支持 TLS 重新协商或双向 TLS 身份验证(mTLS)。要获得 mTLS 支持,请创建 TCP 侦听器,而不是 TLS 侦听器。负载均衡器按原样传输请求,因此您可以在目标上实施 mTLS。

有关相关演示,请参阅网络负载均衡器上的 TLS 支持网络负载均衡器上的 SNI 支持

ALPN 策略

应用层协议协商 (ALPN) 是在最初的 TLS 握手 hello 消息上发送的 TLS 扩展。通过 ALPN,应用层能够协商应在安全连接(例如 HTTP/1 和 HTTP/2)上使用什么协议。

当客户端启动 ALPN 连接时,负载均衡器将客户端 ALPN 首选项列表与其 ALPN 策略进行比较。如果客户端支持来自 ALPN 策略的协议,则负载均衡器会根据 ALPN 策略的首选项列表建立连接。否则,负载均衡器不使用 ALPN。

支持的 ALPN 策略

以下是支持的 ALPN 策略:

HTTP1Only

仅协商 HTTP/1.*。ALPN 首选项列表为 http/1.1、http/1.0。

HTTP2Only

仅协商 HTTP/2。ALPN 首选项列表为 h2。

HTTP2Optional

首选 HTTP/1.* 而不是 HTTP/2(这对 HTTP/2 测试非常有用)。ALPN 首选项列表为 http/1.1、http/1.0、h2。

HTTP2Preferred

首选 HTTP/2 而不是 HTTP/1.*。ALPN 首选项列表为 h2、http/1.1、http/1.0。

None

不协商 PN。这是默认模式。

启用 ALPN 连接

您可以在创建或修改 TLS 侦听器时启用 ALPN 连接。有关更多信息,请参阅添加侦听器更新 ALPN 策略