带有 Elastic Beanstalk 的 AWS Certificate Manager(ACM 证书)

AWS Certificate Manager (ACM Certificate) with Elastic Beanstalk

我尝试了以下解决方案,但没有一个解决我的问题:


  1. 设置负载平衡器侦听器 ssl 证书 - 不能给一个 link 因为我没有 10 个信誉

  2. 配置您的 Elastic Beanstalk 环境的负载均衡器以终止 HTTPS - 无法给出 link 因为我没有 10 个信誉


我已经在 ACM 中颁发了 SSL 证书,并且已将其配置为在我的 cloundfront 中正常工作。但是当我尝试将相同的证书添加到我的负载均衡器时,我得到:"Updating load balancer named: ... failed Reason: Server Certificate not found for the key: arn:aws:acm:us-east-1:..."

我也尝试过手动将 SSL 证书添加到负载平衡器,但是 I'm not able to click on "Choose an existing certificate from AWS Identity and Access Management (IAM)"

好的,我找到了解决问题的方法。 Amazon Certificate Manager (ACM) 仅适用于美国东部 N.Virginia 区域,但我的弹性 beanstalk 位于美国西部俄勒冈州,这就是我无法在负载均衡器中看到来自 ACM 的 SSL 证书的原因。当我在与 Amazon Certificate Manager (N.Virginia) 相同的区域创建一个新的弹性豆茎时,它也在 N.Virginia 中创建了一个负载均衡器,然后我能够为负载均衡器创建 HTTPS Listener 并为其分配 SSL 证书。

  1. 从 ACM 下载证书。
    1. 通过AWS API
    2. 通过CLI
    3. 推荐uploading your own cert to IAM
      • A​​CM 仅在 Virgina 可用,它对许多 AWS 服务进行了 beta 测试。出于这个原因,Virgina 经常有许多性能和稳定性问题。
  2. 将证书添加到 IAM
    1. Get the AWS CLI Installed and set-up.
    2. Add the cert to IAM via the CLI.
  3. 将其添加到您的 EB 负载均衡器
    1. Elastic Beanstalk > 应用程序 > 环境
    2. 配置 > 负载平衡 > 配置(齿轮图标)
    3. 设置 SSL 证书
    4. 申请。
    5. 确保您的 public 域指向您的环境域
      • 你的域 CNAME 环境-name.elasticbeanstalk.com