如何为 ELB 实例安装外部 SSL?

Posted

技术标签:

【中文标题】如何为 ELB 实例安装外部 SSL?【英文标题】:How to install a external SSL for an ELB instance? 【发布时间】:2019-11-22 13:43:23 【问题描述】:

我的 AWS 账户 (http://editoradbosco.us-east-2.elasticbeanstalk.com) 上安装了一个 ELB 实例,它运行正常。我的域安装在 Hostgator (https://centrodombosco.org) 上,在此,我有一个指向我的 AWS 端点 (http://editora.centrodombosco.org) 的 CNAME。

但是,我需要使用 HTTPS (SSL) 协议。我该如何进行?我在 Hostgator 上为此子域签订了 SSL,但 Hostgator 通知我需要对 AWS 进行调整以使其正常工作,但我不知道如何继续。

我怎样才能做到这一点?

我尝试通过 AWS 上的证书管理器创建 SSL,并在 Hostgator 上的 DNS 面板上指定 CNAMES。但它失败了。我想它不可能在 AWS 域之外使用 AWS 证书。

【问题讨论】:

绝对可以在“AWS 域外”使用 AWS 证书。发布有关您遇到的错误的更多信息。 @MarkB 在这种情况下,我没有错误...我只是不知道如何为我的域设置证书。 你说“但它失败了。”所以请描述它是如何失败的?如果您无法提供有关问题的确切详细信息,人们将无法提供详细的帮助。 @MarkB 当然,很抱歉。尝试加载这个:editora.centrodombosco.org。返回超时错误...但是使用 http,可以正常工作。我尝试在 hostgator 中添加在 ACM 中生成的证书的 CNAMES,它经过验证,但没有任何改变。之后,我删除了证书,并尝试使用我在 Hostgator 中可用的证书,但我不知道如何继续将其导出到 ACM。 超时意味着您可能没有设置它来正确监听端口 443。 DNS 名称是否实际上指向负载均衡器?负载均衡器上实际安装的 SSL 证书?创建 SSL 证书是不够的,您必须实际配置负载均衡器以使用它,并配置 DNS,以便所有请求都通过负载均衡器。 【参考方案1】:

有两种方法可以做到这一点。

由于您已经拥有来自 Host Gator 的 SSL,您可以将该证书导入 AWS Certificate Manager (instructions here)。导入证书后,它会立即被视为经过验证,您可以立即继续配置您的 EB 环境负载均衡器,以将 HTTPS 终止为 described here。

或者,如果您想使用 Amazon Certificate Manager,但由于某种原因 DNS 验证不起作用,或者您无法使用 DNS 方法验证域的所有权,Amazon Certificate Manager 也为您提供使用电子邮件验证您对域的所有权的选项,如described here。一旦您对域的所有权得到验证,您就可以继续配置您的 EB 环境负载均衡器,以将 HTTPS 终止为 described here。

附带说明,您可能希望考虑使用 Route53 来处理您的域的 DNS。 Route53 与 ACM 等 AWS 服务紧密集成,并且与 ACM 一样,需要自定义 DNS 条目的服务通常会代表您将正确的 DNS 条目直接放入您的 Route53 托管区域。

【讨论】:

嘿@Hephalump,我将尝试使用 ACM 证书。我创建了一个,获取了 CNAME 并插入到我的 DNS 区域编辑器中。我尝试配置负载均衡器以设置 HTTPS,但仍然无法正常工作。 我需要在 R53 上创建一些东西吗?

以上是关于如何为 ELB 实例安装外部 SSL?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 AWS Elb 后面的 reactJs SPA 重定向 http 到 https?

当您的实例位于 ELB 之后时,您如何为 AWS 建立维护页面?

如何为 WebSocket 协议配置 AWS ELB 和 Nginx? [关闭]

如何为我的 Elastic Beanstalk 单实例配置 SSL

跨 TCP 443 连接的 Amazon ELB 会话粘性?

如何为 AutoScale 实例使用 AWS 负载均衡器代理协议?