【问题标题】:Is there a way to enable HTTPS on Elastic Beanstalk without a load balancer?有没有办法在没有负载均衡器的情况下在 Elastic Beanstalk 上启用 HTTPS?
【发布时间】:2020-07-23 20:01:22
【问题描述】:

这是我第一次使用 AWS 或任何其他此类平台。我需要在我的网站上使用 https,因为我使用条纹。我已经使用 AWS 证书管理器获得了 SSL 证书。但使用它的唯一方法是,如果您的实例上有负载均衡器。我不想为负载均衡器付费,因为它太小了,无法这样做。

在没有负载均衡器的情况下启用 HTTPS 的任何其他方法?

【问题讨论】:

  • ACM 证书只能用于 AWS 负载均衡器和 Amazon CloudFront 分配。请注意,对于一个非常小的系统,ALB 的定价大约是每月 15-20 美元。该证书还将自动更新,从而节省您的时间、精力和停机风险。
  • @dhairyakhara aws 说 ACM 是免费的,但您也只能将 ACM 与 AWS 负载均衡器一起使用,负载均衡器的成本约为 15-20 美元,这意味着我们必须至少支付 15 美元在其中启用 SSL 证书

标签: amazon-web-services amazon-elastic-beanstalk


【解决方案1】:

最简单的方法是通过 CloudFront (CF):

为此,您将创建一个 CF 分发并设置您的 SSL 证书和一个自定义域(必需),并将 EB 环境设置为自定义源。

替代方法是在您的 EB 实例上配置 nginx 以使用 SSL。为此,您还需要查看一些关于如何使用 nginx 服务 https 请求的教程或文档。一些例子:

但这不适用于我记得的 ACM 证书。这是这种方法的一个局限性。

【讨论】:

  • 如果 OP 试图避免 ALB 的(相对较低的)成本,我怀疑 CloudFront 也可能被证明是不可取的。解决方案可能是使用 ACM,尽可能便宜地在其他地方获取证书,然后将它们直接安装在 EC2(或 EB)实例上。
  • @jarmod 你好。是的,有可能。因此,我还包括了在 EB 实例上为 SSL 配置 nginx 的替代解决方案。
  • @Marcin。我正在尝试第一个选项。但似乎我一直被重定向到 beanstalk url。
【解决方案2】:

正如 jarmod 所述,您只能将 ACM 证书与 ALB 或 Cloudfront 一起使用,这两者都不是免费的。据我所知,没有完全免费的 AWS 服务可以做到这一点。您可以使用Let's Encrypt 获取免费的自动更新证书,以安装在您的网络服务器上。

【讨论】:

    猜你喜欢
    • 2017-09-28
    • 2018-02-28
    • 2020-11-21
    • 2011-12-22
    • 2018-07-01
    • 2017-02-19
    • 2015-07-20
    • 2020-06-03
    • 2017-02-14
    相关资源
    最近更新 更多