

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

# 为您的 Application Load Balancer 更新 HTTPS 侦听器
<a name="listener-update-certificates"></a>

创建 HTTPS 侦听器后，您可以替换默认证书、更新证书列表或替换安全策略。

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

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

您可以使用以下过程替换侦听器的默认证书。有关更多信息，请参阅 [默认证书](https-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:
  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: new-default-certificate-arn
```

------

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

您可使用以下过程将证书添加到侦听器的证书列表。如果您使用创建了侦听器 Amazon Web Services 管理控制台，则我们会为您将默认证书添加到证书列表中。否则，证书列表为空。您可以将默认证书添加到证书列表，以确保此证书与 SNI 协议一起使用，即使默认证书被替换亦不例外。有关更多信息，请参阅 [应用程序负载均衡器的 SSL 证书](https-listener-certificates.md)。

------
#### [ 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"
```

------

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

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

要删除 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>

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

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

**兼容性**
+ 连接到同一负载均衡器的所有安全侦听器都必须使用兼容的安全策略。要将负载均衡器的所有安全侦听器迁移到与当前使用的安全策略不兼容的安全策略，请删除除一个安全侦听器之外的所有安全侦听器，更改安全侦听器的安全策略，然后创建其他安全侦听器。
  + **FIPS 后量子 TLS 策略和 FIPS 策略——兼容**
  + **后量子 TLS 策略和 FIPS 或 FIPS 后量子 TLS 策略——兼容**
  + **TLS 策略（非 FIPS non-post-quantum）和 FIPS 或 FIPS 后量子 TLS 策略——不兼容**
  + **TLS 策略（非 FIPS non-post-quantum）和后量子 TLS 策略-不兼容**

------
#### [ 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:
  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
```

------

## HTTP 标头修改
<a name="update-header-modification"></a>

通过修改 HTTP 标头，您可以重命名特定负载均衡器生成的标头、插入特定的响应标头以及禁用服务器响应标头。应用程序负载均衡器的请求标头和响应标头都支持标头修改。

有关更多信息，请参阅 [为应用程序负载均衡器启用 HTTP 标头修改](enable-header-modification.md)。