几个小时前,我刚刚了解了亚马逊的 AWS、ECS 和 Elastic Beanstalk,我们的(仍处于试验阶段的)应用程序从 Google Cloud 移植过来,并在负载平衡集群中启动并运行。
但没有 HTTPS。
几年来,我一直在其他一些平台上设置 HTTPS(主要是 Tomcat 服务器使用 Java Keystore 进行自己的前端),但我在这里开始有点困难。目前,我们仍然使用我们被赋予的域名,即“http://awseb-awseb-[删除]amazonaws.com/“
在开始设置 HTTPS 之前,我们是否需要将自己的域名连接到此?或者是否有捷径可以让我们在完成之前尝试使用 HTTPS?
有人能给我指出适合这个的教程吗?我有点难以这么快理解这一切。
答案1
如果我理解正确的话,您需要通过 https 测试连接,并且不介意负载均衡器之后的连接是否是 http。为此,请按照此处的分步指南进行操作:
- 前往 Route 53 并创建一个托管区域,例如
domain.com
。 - 在托管区域中创建此托管区域后,创建一个 DNS 条目,例如
my.domain.com
- 为该 DNS 条目分配一个 A 类型记录,并将其别名为您之前创建的负载均衡器。
测试此 DNS 条目http://my.domain.com并验证它是否正常工作。PS 等待几分钟 DNS 缓存需要一点时间。您可以通过更改 Route 53 条目中的 TTL 来减少它。
一旦您验证了 my.domain.com 在 http 上正常运行,请转到 AWS 证书管理器并为 *.domain.com 颁发通配符证书,我建议您使用通配符证书,因为这实际上使您能够对所有域(例如 my.domain.com 或 abc.domain.com)重复使用该证书。
单击“请求新证书”按钮。选择公共证书。然后在输入域名时输入 *.domain.com。在下一步中检查 DNS 验证。完成此步骤后,您将返回到仪表板,并且您的证书将显示为“待验证”。
要解决此问题,请展开证书详细信息,在域下,您将看到一个包含名称和 Cname 的 DNS 记录。复制这些并转到 Route 53 仪表板。在您的托管区域中,创建一个新的记录集,记录集的名称是您从证书管理器仪表板复制的名称,并输入 CName 作为值,输入从证书管理器复制的值。
几分钟后,单击“保存”后,证书管理器应显示已颁发的证书。
完成此步骤后,转到 EC2 仪表板。转到负载均衡器,选择负载均衡器。转到侦听器。单击添加并在端口 443 上添加侦听器,并选择协议为 HTTPS。选择实例端口作为您之前配置侦听器以允许流量的端口。完成此步骤后,您可以在https://my.domain.com不会影响任何事情。
PS 如果您已经在 443 上配置了侦听器,则可以将侦听器附加到任何其他端口。在这种情况下,您必须在 URL 末尾指定端口,例如https://my.domain.com:端口。
这 ^ 将在 my.domain.com 上启用 https,并在 ELB 上终止 SSL,因此您不必在代码或实例中进行任何其他更改。
希望能帮助到你!
PPS 抱歉,格式不好!