Elastic Load Balancing
应用程序负载均衡器
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

应用程序负载均衡器的侦听器

在开始使用应用程序负载均衡器之前,您必须添加一个或多个侦听器。侦听器是一个使用您配置的协议和端口检查连接请求的进程。为侦听器定义的规则可以确定负载均衡器将请求路由到一个或多个目标组中的目标的方式。

侦听器配置

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

  • 协议:HTTP、HTTPS

  • 端口:1-65535

您可以使用 HTTPS 侦听器将加密和解密的工作交给负载均衡器完成,使您的目标能够专注于完成主要工作。如果侦听器协议为 HTTPS,您必须在侦听器上确切地部署一个 SSL 服务器证书。有关更多信息,请参阅 Application Load Balancer 的 HTTPS 侦听器

应用程序负载均衡器 为 Websockets 提供本机支持。您可以对 HTTP 和 HTTPS 侦听器同时使用 WebSocket。

应用程序负载均衡器 为将 HTTP/2 与 HTTPS 侦听器一起使用提供本机支持。使用一个 HTTP/2 连接最多可以并行发送 128 个请求。负载均衡器将它们转换为单独的 HTTP/1.1 请求,并使用轮询路由算法将它们分配给目标组中的所有正常目标。由于 HTTP/2 可以更高效地使用前端连接,您可能注意到客户端与负载均衡器之间的连接较少。请注意,您不能使用 HTTP/2 的服务器推送功能。

侦听器规则

每个侦听器都具有默认规则,您也可以选择定义其他规则。每个规则都包含优先级、操作、可选主机条件和可选路径条件。

默认规则

在创建侦听器时,您应为默认规则定义一个操作。默认规则不能有条件。如果未满足侦听器的任一规则条件,则执行默认规则的操作。

下面是控制台中所示的默认规则的示例:

 侦听器的默认规则。

规则优先级

每个规则都有一个优先级。规则是按优先级顺序 (从最低值到最高值) 计算的。默认规则具有最低优先级值,因此将最后进行评估。您可以随时更改非默认规则的优先级。您不能更改默认规则的优先级。有关更多信息,请参阅 重新排序规则

规则操作

每个规则操作均具有一个类型和一个目标组。当前,将请求转发到目标组的 forward 是唯一支持的类型。您可随时更改规则的目标组。有关更多信息,请参阅 编辑规则

规则条件

规则条件有两种类型:主机和路径。当满足规则的条件时,则执行规则的操作。

主机条件

您可使用主机条件定义一些规则,用于根据主机标头中的主机名将请求转发到不同的目标组 (也称为基于主机的路由)。这使您能够使用单个负载均衡器支持多个域。

每个主机条件有一个主机名。如果主机标头中的主机名与侦听器规则中的主机名完全匹配,则将使用该规则来路由请求。

主机名不区分大小写,长度上限为 128 个字符,并且可包含以下任何字符。请注意,您最多可包含三个通配符。

  • A-Z、a-z、0-9

  • - .

  • * (匹配 0 个或多个字符)

  • ?(完全匹配 1 个字符)

主机名示例

  • example.com

  • test.example.com

  • *.example.com

请注意,*.example.com 将与 test.example.com 匹配,但不与 example.com 匹配。

控制台示例

下面是具有控制台中所示的主机条件的规则的示例。如果主机标头中的主机名与 *.example.com 匹配,则请求将转发到名为 my-web-servers 的目标组。有关更多信息,请参阅 添加规则

 具有主机条件的侦听器规则。

路径条件

您可使用路径条件定义根据请求中的 URL 将请求转发到不同的目标组 (也称为基于路径的路由) 的规则。

每个路径条件都有一个路径模式。如果请求中的 URL 与侦听器规则中的路径模式完全匹配,则将使用该规则来路由请求。

路径模式区分大小写,长度最多为 128 个字符,并且可包含以下任何字符。请注意,您最多可包含三个通配符。

  • A-Z、a-z、0-9

  • _ - . $ / ~ " ' @ : +

  • & (使用 &)

  • * (匹配 0 个或多个字符)

  • ?(完全匹配 1 个字符)

示例路径模式

  • /img/*

  • /js/*

请注意,路径模式用于路由请求而不是更改请求。例如,如果一个规则具有路径模式 /img/*,此规则会将 /img/picture.jpg 的请求作为 /img/picture.jpg 的请求转发给指定目标组。

控制台示例

下面是具有控制台中所示的路径条件的规则的示例。如果请求中的 URL 与 /img/* 匹配,则会将请求转发到名为 my-targets 的目标组。有关更多信息,请参阅 添加规则

 具有路径条件的侦听器规则。