在哪个域上为面向 Internet 的 AWS Elastic Load Balancer 设置 SSL 证书?

Nei*_*lip 0 https load-balancing ssl-certificate amazon-ec2 amazon-web-services

我有一个 React 应用程序,它可以 ping 在 EC2 实例上运行的 Node Express 服务器(REST api、HTTP)以获取数据服务。我想支持 HTTPS,因此我希望在弹性负载均衡器上安装一个证书并将其用于 SSL 终止。因此,React 应用程序将在 HTTPS 上对 ELB 执行 ping 操作,然后 ELB 将在 HTTP 上转发并与 Express 服务器进行通信。

问题:我应该在哪个域上制作证书?ELB的公共DNS?亚马逊说我无法在亚马逊拥有的 DNS 上获得 SSL 证书: https: //docs.aws.amazon.com/acm/latest/userguide/troubleshooting-requests.html#failed-additional-verification-required

如果我无法在 ELB 的公共 DNS 上获得 SSL 证书...它如何支持面向互联网的 HTTPS?有什么我不明白的吗?

Mat*_*ser 5

这是真的。amazonaws.com您无法获取ELB/ALB 上端点的SSL 证书。

但是,Amazon Elastic Load Balancer 和 Application Load Balancer 将接受任何域(而不仅仅是 )的连接amazonaws.com,只要它们解析为 ELB/ALB。

所以你需要执行以下操作:

  1. 使用 Route 53 购买并注册您自己的域。
  2. 将您的域名指向您的 ELB/ALB。确保您可以使用您自己的域(而不是自己的域)访问您的 React 应用程序amazonaws.com
  3. 通过 ACM 为您自己的域创建 SSL 证书。
  4. 将您的 SSL 证书附加到您的 ELB/ALB。

注意:不需要通过 Route 53 注册您的域;任何 DNS 注册商都可以。但使用 Route 53 提供了一种“一体化”解决方案。