

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 更新网络负载均衡器的 TLS 侦听器
<a name="listener-update-certificates"></a>

创建 TLS 侦听器后，您可以替换默认证书、在证书列表中添加或删除证书、更新安全策略或更新 ALPN 策略。

**Topics**
+ [替换默认证书](#replace-default-certificate)
+ [将证书添加到证书列表](#add-certificates)
+ [从证书列表中删除证书](#remove-certificates)
+ [更新安全策略](#update-security-policy)
+ [更新 ALPN 策略](#update-alpn-policy)

## 替换默认证书
<a name="replace-default-certificate"></a>

您可以根据需要替换 TLS 侦听器的默认证书。有关更多信息，请参阅 [默认证书](tls-listener-certificates.md#default-certificate)。

------
#### [ Console ]

**要替换默认证书**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.amazonaws.cn/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**负载均衡器**。

1. 选择负载均衡器。

1. 在**侦听器**选项卡上，选择**协议:端口**列中的文本以打开侦听器的详细信息页面。

1. 在**证书**选项卡上，选择**更改默认值**。

1. 在 **ACM 和 IAM 证书**表中，选择新的默认证书。

1. （可选）默认情况下，我们选择**将之前的默认证书添加到侦听器证书列表中**。我们建议您保持此选项的选中状态，除非您当前没有用于 SNI 的侦听器证书且依赖于 TLS 会话恢复功能。

1. 选择**另存为默认值**。

------
#### [ Amazon CLI ]

**要替换默认证书**  
使用 [modify-listener](https://docs.amazonaws.cn/cli/latest/reference/elbv2/modify-listener.html) 命令。

```
aws elbv2 modify-listener \
    --listener-arn listener-arn \
    --certificates CertificateArn=new-default-certificate-arn
```

------
#### [ CloudFormation ]

**替换默认证书**  
使用新的默认证书更新[AWS::ElasticLoadBalancingV2::Listener](https://docs.amazonaws.cn/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-listener.html)资源。

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

------

## 将证书添加到证书列表
<a name="add-certificates"></a>

您可使用以下过程将证书添加到侦听器的证书列表。首次创建 TLS 侦听器时，证书列表为空。您可以将默认证书添加到证书列表，以确保此证书与 SNI 协议一起使用，即使它被替换为默认证书也是如此。有关更多信息，请参阅 [证书列表](tls-listener-certificates.md#sni-certificate-list)。

------
#### [ Console ]

**要将证书添加到证书列表**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.amazonaws.cn/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**负载均衡器**。

1. 选择负载均衡器的名称以打开其详细信息页面。

1. 在**侦听器**选项卡上，选择**协议:端口**列中的文本以打开侦听器的详细信息页面。

1. 选择 **Certificates (证书)** 选项卡。

1. 要将默认证书添加到列表，请选择**将默认证书添加到列表**。

1. 要将非默认证书添加大列表，请执行以下操作：

   1. 选择**添加证书**。

   1. 要添加已由 ACM 或 IAM 管理的证书，请选中证书对应的复选框并选择**在下面以待注册的形式添加**。

   1. 要添加未由 ACM 或 IAM 管理的证书，请选择**导入证书**，完成表格，然后选择**导入**。

   1. 选择**添加待处理证书**。

------
#### [ Amazon CLI ]

**要将证书添加到证书列表**  
使用 [add-listener-certificates](https://docs.amazonaws.cn/cli/latest/reference/elbv2/add-listener-certificates.html) 命令。

```
aws elbv2 add-listener-certificates \
    --listener-arn listener-arn \
    --certificates \
        CertificateArn=certificate-arn-1 \
        CertificateArn=certificate-arn-2 \
        CertificateArn=certificate-arn-3
```

------
#### [ CloudFormation ]

**要将证书添加到证书列表**  
定义类型为的资源[AWS::ElasticLoadBalancingV2::ListenerCertificate](https://docs.amazonaws.cn/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-listenercertificate.html)。

```
Resources: 
  myCertificateList:
    Type: 'AWS::ElasticLoadBalancingV2::ListenerCertificate'
    Properties:
      ListenerArn: !Ref myTLSListener
      Certificates:
        - CertificateArn: "certificate-arn-1"
        - CertificateArn: "certificate-arn-2"
        - CertificateArn: "certificate-arn-3"

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

------

## 从证书列表中删除证书
<a name="remove-certificates"></a>

您可以使用以下过程从 TLS 侦听器的证书列表中删除证书。删除证书后，侦听器将无法再使用该证书建立连接。为确保客户端不受影响，在从列表中删除证书之前，请先将新的证书添加至列表并确认连接功能正常。

要删除 TLS 侦听器的默认证书，请参阅[替换默认证书](#replace-default-certificate)。

------
#### [ Console ]

**要从证书列表中删除证书**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.amazonaws.cn/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**负载均衡器**。

1. 选择负载均衡器的名称以打开其详细信息页面。

1. 在**侦听器**选项卡上，选择**协议:端口**列中的文本以打开侦听器的详细信息页面。

1. 在**证书**选项卡上，选中证书对应的复选框，然后选择**删除**。

1. 提示进行确认时，输入 **confirm**，然后选择**删除**。

------
#### [ Amazon CLI ]

**要从证书列表中删除证书**  
使用 [remove-listener-certificates](https://docs.amazonaws.cn/cli/latest/reference/elbv2/remove-listener-certificates.html) 命令。

```
aws elbv2 remove-listener-certificates \
    --listener-arn listener-arn \
    --certificates CertificateArn=certificate-arn
```

------

## 更新安全策略
<a name="update-security-policy"></a>

在创建 TLS 侦听器时，您可以选择满足您的需求的安全策略。添加新的安全策略后，您可以将 TLS 侦听器更新为使用此新安全策略。网络负载均衡器不支持自定义安全策略。有关更多信息，请参阅 [网络负载均衡器的安全策略](describe-ssl-policies.md)。

如果负载均衡器处理大量流量，则更新安全策略可能会导致中断。为降低负载均衡器高负载状态下的中断风险，请创建额外的负载均衡器来分担流量，或请求 LCU 预留。

------
#### [ Console ]

**要更新安全策略**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.amazonaws.cn/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**负载均衡器**。

1. 选择负载均衡器的名称以打开其详细信息页面。

1. 在**侦听器**选项卡上，选择**协议:端口**列中的文本以打开侦听器的详细信息页面。

1. 选择**操作**，然后选择**编辑侦听器**。

1. 在**安全侦听器设置**部分的**安全策略**下，选择新的安全策略。

1. 选择**保存更改**。

------
#### [ Amazon CLI ]

**要更新安全策略**  
使用 [modify-listener](https://docs.amazonaws.cn/cli/latest/reference/elbv2/modify-listener.html) 命令。

```
aws elbv2 modify-listener \
    --listener-arn listener-arn \
    --ssl-policy ELBSecurityPolicy-TLS13-1-2-Res-2021-06
```

------
#### [ CloudFormation ]

**要更新安全策略**  
使用新的安全策略更新[AWS::ElasticLoadBalancingV2::Listener](https://docs.amazonaws.cn/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-listener.html)资源。

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

------

## 更新 ALPN 策略
<a name="update-alpn-policy"></a>

您可以根据需要更新 TLS 侦听器的 ALPN 策略。有关更多信息，请参阅 [ALPN 策略](load-balancer-listeners.md#alpn-policies)。

------
#### [ Console ]

**要更新 ALPN 策略**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.amazonaws.cn/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**负载均衡器**。

1. 选择负载均衡器的名称以打开其详细信息页面。

1. 在**侦听器**选项卡上，选择**协议:端口**列中的文本以打开侦听器的详细信息页面。

1. 选择**操作**，然后选择**编辑侦听器**。

1. 在**安全侦听器设置**部分，针对 **ALPN 策略**，选择一项策略以启用 LPN，或选择**无**以禁用 ALPN。

1. 选择**保存更改**。

------
#### [ Amazon CLI ]

**要更新 ALPN 策略**  
使用 [modify-listener](https://docs.amazonaws.cn/cli/latest/reference/elbv2/modify-listener.html) 命令。

```
aws elbv2 modify-listener \
    --listener-arn listener-arn \
    --alpn-policy HTTP2Preferred
```

------
#### [ CloudFormation ]

**要更新 ALPN 策略**  
更新[AWS::ElasticLoadBalancingV2::Listener](https://docs.amazonaws.cn/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-listener.html)资源以包含 ALPN 政策。

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

------