如何将多个 SSL 证书添加到我的 Elastic Beanstalk 环境中的应用程序负载均衡器?

上次更新日期:2020 年 12 月 18 日

我想要将其他 SSL 证书添加到我的 AWS Elastic Beanstalk 环境中的 Application Load Balancer。

简短描述

应用程序负载均衡器支持多个 SSL 证书, 但 Elastic Beanstalk 中 SSLCertificateArns 选项的设置对于一个侦听器仅接受一个证书。

要将其他 SSL 证书添加到您的应用程序负载均衡器,您必须创建基于资源的 .ebextension

解决方法 将第二个 SSL 证书添加到您的应用程序负载均衡器

1.在源服务包的根目录中创建一个.ebextensions 文件夹。

2.在 .ebextensions 文件夹中,请根据以下说明创建 .config 文件:

option_settings:
  aws:elbv2:listener:443:
    Protocol: HTTPS
    SSLCertificateArns: "cert-arn-1"
Resources:
  AddingSSLCert2:
    Type: "AWS::ElasticLoadBalancingV2::ListenerCertificate"
    Properties:
      ListenerArn:
        Ref : "AWSEBV2LoadBalancerListener443"
      Certificates:
        - CertificateArn: "cert-arn-2"

注意:在前面的代码示例中, 请将 cert-arn1cert-arn2 替换为您的证书的 Amazon 资源名称 (ARN)。

要添加其他证书,请添加一个新的 ListenerCertificate 资源。例如:

option_settings:
  aws:elbv2:listener:443:
    Protocol: HTTPS
    SSLCertificateArns: "cert-arn-1"
Resources:
  AddingSSLCert2:
    Type: "AWS::ElasticLoadBalancingV2::ListenerCertificate"
    Properties:
      ListenerArn:
        Ref : "AWSEBV2LoadBalancerListener443"
      Certificates:
        - CertificateArn: "cert-arn-2"
  AddingSSLCert3:
    Type: "AWS::ElasticLoadBalancingV2::ListenerCertificate"
    Properties:
      ListenerArn:
        Ref : "AWSEBV2LoadBalancerListener443"
      Certificates:
        - CertificateArn: "cert-arn-3"

注意:在前面的代码示例中,将 cert-arn1、cert-arn-2cert-arn3 替换为您的证书 ARN。

option_settings 部分可在端口 443 上创建 HTTPS 侦听器,并将证书附加到此侦听器。如果您已从控制台创建 HTTPS 侦听器,您便可将 option_settings 部分从 .config 文件中删除。Resources(资源)部分可再创建一个将其他证书附加到此侦听器的资源。

3.为您的应用程序包进行 .ebextensions 更新。

4.重新部署您的应用程序。

您的应用程序会对现有应用程序负载均衡器进行更新,而无需替换它。

重要提示: 其他证书不会显示在 Elastic Beanstalk 控制台中。要验证您的证书是否已添加到应用程序负载均衡器,请完成验证您的 SSL 证书是否已添加到应用程序负载均衡器侦听器 443 部分所述的步骤。

验证您的 SSL 证书是否已添加到应用程序负载均衡器侦听器 443

1.打开 Amazon Elastic Compute Cloud (Amazon EC2) 控制台。

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

3.选择 Listeners 选项卡。

4.对于侦听器 443,请选择 View/edit certificates(查看/编辑证书)。

您会看到与侦听器 443 关联的两个证书 。</p