面向 Internet 的 AWS 弹性负载均衡器应在哪个域上设置 SSL 证书?

面向 Internet 的 AWS 弹性负载均衡器应在哪个域上设置 SSL 证书?

我有一个 React 应用程序,它 ping 运行在 EC2 实例上的 Node Express 服务器(REST api,HTTP)以获取数据服务。我想支持 HTTPS,所以我希望在 Elastic Load Balancer 上安装证书并将其用于 SSL 终止。因此,React 应用程序将在 HTTPS 上 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?有什么我不明白的吗?

答案1

确实如此。您无法为amazonaws.comELB/ALB 上的端点获取 SSL 证书。

amazonaws.com但是,只要解析到 ELB/ALB,Amazon Elastic Load Balancer 和 Application Load Balancer 就会接受任何域的连接,而不仅仅是。

因此您需要执行以下操作:

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

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

相关内容