如何将 Route 53 子域连接到 EC2 负载均衡器? (SSL 不匹配问题)

How do I connect Route 53 subdomain to EC2 load balancer? (SSL mismatch issue)

我想要一个子域 (api.mysite.com) 来调用 EC2 经典负载均衡器 (load-balancer-123456789.us-east-2.elb.amazonaws.com)。一切都托管在 AWS 上,(理论上)使其尽可能简单。

我按照说明 here 在 AWS Route 53 中创建了域和子域,并在子域中创建了一个“A”记录,作为别名链接到我的负载均衡器。这很好用,我可以通过 api.mysite.com 调用负载平衡器,只要我使用 HTTP。

但是当我尝试使用 HTTPS 时,我得到 ERR_SSL_PROTOCOL_ERROR。如果我尝试在浏览器中打开 API,安全图标会显示它“不安全”。我认为问题可能是证书连接到主域 (mysite.com) 而不是子域 (api.mysite.com),但我不知道如何正确解析它。

This SSL 检查站点显示 EC2 服务器本身(负载均衡器指向的服务器)并报告“证书对域名无效”。这是一个 Ubuntu 服务器,但我不确定这是否重要。

SSL证书需要指定子域和主域。最简单的方法是通过 AWS 的证书管理器申请新证书。

确保在证书中指定每个相关域和子域(在本例中,mysite.com 和 api。mysite.com。)

创建证书后,转到负载均衡器,打开“侦听器”选项卡,然后select HTTPS 端口。然后,将该端口的 SSL 证书更改为包含相关子域的证书。如果您使用 AWS Certificate Manager,可以从下拉菜单中select编辑它。