【问题标题】:How to setup SSL for EC2 with ACM?如何使用 ACM 为 EC2 设置 SSL?
【发布时间】:2020-12-18 07:18:16
【问题描述】:

(我是 AWS 新手)

所以我有一个正在运行的 EC2 实例,并且想要设置 SSL,以便它可以服务 HTTPS。

我从 AWS 找到了一个 guide 来设置 SSL 与外部 CA,或者一个 brief statement ACM 应该能够与 EC2 一起工作,但似乎没有找到任何分步指南,我预计 AWS 应该只需单击几下即可完成。

我是否需要使用 ELB,即使我的服务器只在一个实例中运行?

【问题讨论】:

  • 您可以在 EC2 上进行 SSL 终止,但它非常棘手(我从未管理过它),而且您不能使用 ACM。您可以使用 ELB,这很简单,但如果您只运行 1 个 EC2 实例,它会非常昂贵。我的建议是使用 CloudFront。它非常易于设置,会以低廉的价格为您执行 SSL 终止(使用 ACM),并具有许多好处,例如 DDOS 保护和内容缓存。

标签: amazon-web-services ssl amazon-ec2 https


【解决方案1】:

ACM SSL 证书不能直接在实例上使用(除了在 cmets 中由 Mark 指示的飞地)。它们只能在您的链接中用于负载平衡、CloudFront 发行版或 API 网关。因此,如果您想使用 ACM,您必须在 EC2 实例前面使用这三种服务中的任何一种。

但如果您不想使用它们,那么您需要从第三方获取您的 SSL 证书,而不是从 ACM 获取。一个流行的选择是https://letsencrypt.org/carebot,它们提供免费的公共 SSL 证书。这意味着您必须自己在实例上进行设置,通常通过 nginx 等反向代理完成。

【讨论】:

  • 他们去年发布了对 EC2 的 ACM 支持,但它需要使用 Nitro Enclaves,而且看起来它现在只适用于 Nginx,并且只适用于 Amazon Linux 2:docs.aws.amazon.com/enclaves/latest/user/…
  • @MarkB 谢谢马克。我知道飞地,但似乎不是 OP 使用飞地。它们的用例非常狭窄,因此我在编写它时它不适用于实例,OP 也没有提及它,我的意思是在一般情况下缺乏支持。
  • OP 在他的问题中链接到 AWS 文档,说明飞地是您如何将 ACM 与 EC2 集成,并要求提供有关如何做到这一点的指南,所以他肯定提到了这一点。飞地是 EC2 实例的一部分,因此说“它不适用于实例”是不正确的。
  • @MarkB 够公平的。我更新了答案。
猜你喜欢
  • 2019-10-28
  • 2021-01-03
  • 1970-01-01
  • 2019-04-26
  • 2015-08-06
  • 1970-01-01
  • 1970-01-01
  • 2018-08-12
  • 1970-01-01
相关资源
最近更新 更多