Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为您的 Application Load Balancer 创建 HTTP 侦听器
侦听器检查连接请求。您可在创建负载均衡器时定义侦听器,并可随时向负载均衡器添加侦听器。
此页面上的信息可帮助您为负载均衡器创建 HTTP 侦听器。要向您的负载均衡器添加 HTTPS 侦听器,请参阅 为您的 Application Load Balancer 创建 HTTPS 侦听器。
先决条件
添加 HTTP 侦听器
您为侦听器配置用于从客户端连接到负载均衡器的协议和端口,并为默认侦听器规则配置目标组。有关更多信息,请参阅 侦听器配置。
要添加其他监听器规则,请参阅侦听器规则。
- Console
-
添加 HTTP 侦听器
打开 Amazon EC2 控制台,网址为https://console.aws.amazon.com/ec2/。
-
在导航窗格中,选择负载均衡器。
-
选择负载均衡器。
-
在侦听器和规则选项卡上,选择添加侦听器。
-
对于协议,请选择 HTTP。保留默认端口或输入其他端口。
-
在 “默认操作” 中,选择以下路由操作之一并提供所需信息:
-
转发至目标群组-选择目标群组。要添加其他目标组,请选择添加目标组,选择目标组,查看相对百分比,然后根据需要更新权重。如果您在任何目标群组上启用了粘性,则必须启用群组级别的粘性。
如果您没有满足需求的目标群体,请选择创建目标群组立即创建一个目标群体。有关更多信息,请参阅 创建目标组。
-
重定向到 URL — 在 “UR I 部分” 选项卡上分别输入每个部分,或者在 “完整 URL” 选项卡上输入完整地址来输入 URL。对于状态码,请根据需要选择临时 (HTTP 302) 或永久 (HTTP 301)。
-
返回固定响应-输入已删除的客户端请求返回的响应代码。或者,您可以指定内容类型和响应正文。
-
(可选)要添加标签,请展开监听器标签。选择 “添加新标签”,然后输入标签密钥和标签值。
-
选择添加。
- Amazon 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