为您的 Application Load Balancer 创建 HTTP 侦听器 - Elastic Load Balancing

为您的 Application Load Balancer 创建 HTTP 侦听器

侦听器检查连接请求。您可在创建负载均衡器时定义侦听器,并可随时向负载均衡器添加侦听器。

此页面上的信息可帮助您为负载均衡器创建 HTTP 侦听器。要向您的负载均衡器添加 HTTPS 侦听器,请参阅 为您的 Application Load Balancer 创建 HTTPS 侦听器

先决条件

  • 要将转发操作添加到默认侦听器规则,您必须指定可用的目标组。有关更多信息,请参阅 为您的应用程序负载均衡器创建目标组

  • 您可以在多个侦听器中指定同一个目标组,但这些侦听器必须属于同一个负载均衡器。要将目标组与负载均衡器结合使用,您必须确认其没有被任何其他负载均衡器的侦听器使用。

添加 HTTP 侦听器

您为侦听器配置用于从客户端连接到负载均衡器的协议和端口,并为默认侦听器规则配置目标组。有关更多信息,请参阅 侦听器配置

要添加其他侦听器规则,请参阅侦听器规则

Console
添加 HTTP 侦听器
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择负载均衡器

  3. 选择负载均衡器。

  4. 侦听器和规则选项卡上,选择添加侦听器

  5. 对于协议,请选择 HTTP。保留默认端口或输入其他端口。

  6. 对于默认操作,请选择以下路由操作之一并提供所需的信息:

    • 转发到目标组:选择一个目标组。要添加其他目标组,请选择添加目标组,然后选择一个目标组,检查相对权重并根据需要更新权重。如果在任何目标组上启用了粘性,则必须启用组级粘性。

      如果没有能满足您需求的目标组,请选择创建目标组,以立即创建一个目标组。有关更多信息,请参阅 创建目标组

    • 重定向到 URL:在 URI 部分选项卡上分别输入每个部分,或者在完整 URL选项卡上输入完整的地址,从而输入 URL。对于状态代码,根据您的需求选择临时(HTTP 302)或永久(HTTP 301)。

    • 返回固定响应:输入要为已删除的客户端请求返回的响应代码。您也可以指定内容类型响应正文

  7. (可选)要添加标签,请展开侦听器标签。选择添加新标签,然后输入标签键和标签值。

  8. 选择添加侦听器

AWS CLI
创建目标组

如果您没有可以用于默认操作的目标组,请立即使用 create-target-group 命令来创建一个目标组。有关示例,请参阅 创建目标组

创建 HTTP 侦听器

使用 create-listener 命令。以下示例会创建一个 HTTP 侦听器,其默认规则会将流量转发到指定目标组。

aws elbv2 create-listener \ --load-balancer-arn load-balancer-arn \ --protocol HTTP \ --port 80 \ --default-actions Type=forward,TargetGroupArn=target-group-arn

要创建转发操作以在两个目标组之间分配流量,请改用以下 --default-actions 选项。指定多个目标组时,您必须提供每个目标组的权重。

--default-actions '[{ "Type":"forward", "ForwardConfig":{ "TargetGroups":[ {"TargetGroupArn":"target-group-1-arn","Weight":50}, {"TargetGroupArn":"target-group-2-arn","Weight":50} ] } }]'
CloudFormation
创建 HTTP 侦听器

定义 AWS::ElasticLoadBalancingV2::Listener 类型的资源。以下示例会创建一个 HTTP 侦听器,其默认规则会将流量转发到指定目标组。

Resources: myHTTPlistener: Type: 'AWS::ElasticLoadBalancingV2::Listener' Properties: LoadBalancerArn: !Ref myLoadBalancer Protocol: HTTP Port: 80 DefaultActions: - Type: "forward" TargetGroupArn: !Ref myTargetGroup

要创建转发操作以在两个目标组之间分配流量,请使用 ForwardConfig 属性。指定多个目标组时,您必须提供每个目标组的权重。

Resources: myHTTPlistener: Type: 'AWS::ElasticLoadBalancingV2::Listener' Properties: LoadBalancerArn: !Ref myLoadBalancer Protocol: HTTP Port: 80 DefaultActions: - Type: "forward" ForwardConfig: TargetGroups: - TargetGroupArn: !Ref TargetGroup1 Weight: 50 - TargetGroupArn: !Ref TargetGroup2 Weight: 50