这是我在 AWS 上部署的第一个项目,我真的不知道它是如何运作的。Stack Overflow 不是回答这个问题的合适地方,所以希望这里可以。
我目前有一个应用程序在 EC2 实例的 Docker 上运行,根据决定,该容器最终可能会在 ECS 中运行。Node API 当前在 HTTP 中运行,它将由 Firebase 中托管的 SPA 使用,并且仅允许使用 HTTPS 连接。AWS Elastic Load Balancer + 带有公共证书的 AWS 证书管理器是否能够在 EC2 和 ECS 情况下为我完成工作?如果是,负载均衡器是否可以指向多个 API,我是否需要为每个 API 提供多个证书/域?提前感谢您的关注。
答案1
不要考虑使用 ELB(弹性负载均衡器)ALB(应用程序负载均衡器)- 通常更便宜,更灵活。
是的,你可以从 AWS 证书管理器获得证书,终止 ALB 上的 SSL。然后,ALB 可以通过纯 HTTP(非 SSL)与您的 docker 容器通信。如果您使用 ECS(您应该使用!),它可以自动向 ALB 注册容器。
ALB 的理念是目标群体您可以在单个负载均衡器后面拥有不同的内容提供商,例如不同的 API 容器。它们的路径不同,例如/api1/...
和/api2/...
,但共享相同的主机名。这也意味着您将获得单个 ACM 证书。
希望有帮助:)