为您的 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. (可选)对于路由前操作,请选择以下操作之一:

  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