AWS ElasticLoadBalancer 证书与域名不匹配

AWS ElasticLoadBalancer certificate doesn't match domain name

我对 Elastic Load Balancer 如何在 AWS 中使用证书感到有点困惑。我的 ELB 的域名是 my-service1234568698.eu-west-2.elb.amazonaws.com,这就是我用来调用我的 REST 端点的域名(我将我的 ELB 伪造请求关闭到 docker 个实例 Java微服务)。

我有自己的域,我已经在 ACM 中为其创建了一个亚马逊证书,但那是针对 www.my-域-here.com,而不是亚马逊 ELB 证书。当我尝试通过 https 调用 ELB 时,我收到 CORS 错误,因为证书名称与 AWS 域名不匹配。使用 CURL 调用它并指定原始主机,我得到:

curl: (51) SSL: 没有替代证书主题名称匹配目标主机名 'my-service1234568698.eu-west-2.elb.amazonaws.com'

知道这应该如何运作吗?

需要将证书附加到您 AWS 环境中的 SSL 终止端点。负载均衡器通常用作 SSL 终止端点,这意味着它们将执行所有 SSL 握手和安全连接设置。为此,您的负载均衡器需要知道证书、链和私钥。您可以使用 AWS 控制台完成所有这些操作。

注册域名和创建证书并不能保护您的域。因为您仍然需要将证书应用于您的域源或 AWS 环境中的 public 端点。不确定你在哪里应用了它?如果仅通过 ACM 请求证书并且未附加到任何地方,则根据您的整个设置,您的负载均衡器可能是一个有效的选择。

编辑: 根据评论,您还需要在路由 53 中创建一个 CNAME 记录,以将您自己的域指向您的负载均衡器。这样您就不需要输入神秘的负载均衡器域名称,而是可以使用自己的注册域。

您缺少的是,您应该在域管理系统中将 www.my-domain.com 指向 my-service1234568698.eu-west-2.elb.amazonaws.com(如果您使用的是 aws,则为 Rotue53)。那么你应该使用你的域卷曲 curl www.my-domain.com

如果您使用的是 Route53, 为指向 my-service1234568698.eu-west-2.elb.amazonaws.comwww.my-domain.com 创建一条 A 记录,并将 Alias 设置为 Yes

明白了,我明白了。所以 www.my-domain.com 由另一个提供商托管(即不在 aws 上)并且它是我的 SPA 托管的地方(使用 REACT)。我的想法是从那里调用我的 AWS 后端。如果我想在弹性负载均衡器上使用 https,是否意味着我需要两个域?一个用于我的网站,另一个用于我可以在 aws 中使用证书?