为您的 Application Load Balancer 创建 HTTPS 侦听器 - Elastic Load Balancing
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

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

要创建 HTTPS 侦听器,您必须在负载均衡器上部署至少一个 SSL 服务器证书。负载均衡器先使用服务器证书终止前端连接,再解密来自客户端的请求,然后将请求发送到目标。您还必须指定一个安全策略,以用于协商客户端与负载均衡器之间的安全连接。

如果需要将加密流量传输至目标且负载均衡器不对其进行解密,则可以创建一个使用端口 443 上的 TCP 侦听器的网络负载均衡器或经典负载均衡器。通过 TCP 侦听器,负载均衡器将加密流量传递到目标,而不会对其进行解密。

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

先决条件

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

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

  • 应用程序负载均衡器不支持 ED25519 密钥。

添加 HTTPS 侦听器

您需要配置一个侦听器,以及用于从客户端连接到负载均衡器的协议和端口。有关更多信息,请参阅 侦听器配置

创建安全侦听器时,您必须指定一个安全策略和一个证书。要将证书添加到证书列表,请参阅将证书添加到证书列表

您必须为侦听器配置一个默认规则。您可以在创建侦听器后添加其他侦听器规则。有关更多信息,请参阅 侦听器规则

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

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

  3. 选择负载均衡器。

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

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

  6. (可选)要添加身份验证规则,请选择对用户进行身份验证,然后选择一个身份提供者并提供所需的信息。有关更多信息,请参阅 使用 Application Load Balancer 验证用户身份

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

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

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

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

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

  8. 对于安全策略,我们会选择推荐的安全策略。您可以根据需要选择其他安全策略。

  9. 对于默认 SSL/TLS 证书,请选择默认证书。我们还会将默认证书添加到 SNI 列表中。您可以使用下列选项之一来选择证书:

    • 来自 ACM:从证书(来自 ACM)中选择证书,这将显示来自 Amazon Certificate Manager 的可用证书。

    • 来自 IAM:从证书(来自 IAM)中选择证书,该将显示您导入到 Amazon Identity and Access Management 的证书。

    • 导入证书:选择证书的目的地;导入到 ACM导入到 IAM。对于证书私有密钥,请复制并粘贴私有密钥文件(PEM 编码的文件)的内容。对于证书正文,请复制并粘贴公有密钥证书文件(PEM 编码的文件)的内容。对于证书链,请复制并粘贴证书链文件(PEM 编码的文件)的内容,除非您使用的是自签名证书并且浏览器是否隐式接受证书并不重要。

  10. (可选)要启用双向身份验证,请在客户端证书处理下启用双向身份验证(mTLS)

    默认模式为传递。如果选择使用信任存储进行验证

    • 默认情况下,客户端证书已过期的连接会被拒绝。要更改此行为,请展开高级 mTLS 设置,然后在客户端证书过期下选择允许过期的客户证书

    • 对于信任存储,请选择一个现有信任存储,也可选择新建信任存储并提供所需的信息。

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

  12. 选择添加侦听器

Amazon CLI
创建 HTTPS 侦听器

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

aws elbv2 create-listener \ --load-balancer-arn load-balancer-arn \ --protocol HTTPS \ --port 443 \ --default-actions Type=forward,TargetGroupArn=target-group-arn \ --ssl-policy ELBSecurityPolicy-TLS13-1-2-2021-06 \ --certificates certificate-arn
CloudFormation
创建 HTTPS 侦听器

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

Resources: myHTTPSListener: Type: 'AWS::ElasticLoadBalancingV2::Listener' Properties: LoadBalancerArn: !Ref myLoadBalancer Protocol: HTTPS Port: 443 DefaultActions: - Type: "forward" TargetGroupArn: !Ref myTargetGroup SslPolicy: ELBSecurityPolicy-TLS13-1-2-2021-06 Certificates: - CertificateArn: certificate-arn