【问题标题】:How to enable HTTPS for Elastic Beanstalk url如何为 Elastic Beanstalk 网址启用 HTTPS
【发布时间】:2020-12-29 10:23:48
【问题描述】:

我已为我的自定义域名 (haydenclay.page) 启用 HTTPS,但我还需要 Beanstalk url (app-name.elasticbeanstalk.com) 以通过 HTTPS 运行。

HTTPS 目前不起作用,因为证书名称与我的自定义域名匹配,产生:ERR_CERT_COMMON_NAME_INVALID

我需要 HTTPS,因为我发出 API 请求,从 HTTPS 转到 HTTP 会引发混合内容错误。如何在 beanstalk url 上启用 HTTPS?

我已经尝试过创建别名in the console like so

【问题讨论】:

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


    【解决方案1】:

    很遗憾,您无法直接为app-name.elasticbeanstalk.com 域启用 https。这是因为此域由 AWS 控制。您只能为您控制的域注册 SSL 证书。

    如果您想通过 ssl 从 EB 提供您的内容,您通常有三个选项

    1. 使用 负载平衡器 将您的实例置于前端。这是最简单*的方法,因为您可以将 ACM SSL 证书与您的域的平衡器相关联。

    2. 使用 CloudFront (CF) 在您的 EB 实例前面。您可以使用 CF 发行版和 SSL 证书为您的云端域设置替代名称。您也可以为此使用 ACM。也很容易设置,但应该注意的是,CF 和您的 EB 实例之间的流量将仅为 http,除非您还在实例上设置了自己的 SSL 证书(不是来自 ACM)(第 3 点)。

    3. 使用 nginx 直接在 EB 实例上安装您的自己的 SSL 证书(不是来自 ACM)。这需要手动设置和有效的公共证书。流行的选择是 LetsEncrypt,从中获取 SSL 证书。

    【讨论】:

    • 感谢您的回复。我的 EB 正在使用应用程序负载均衡器,并且我遵循了此处的文档:aws.amazon.com/premiumsupport/knowledge-center/… 我使用了我的自定义域正在使用的相同(且唯一)SSL 证书,但这并没有解决问题。它是否可能需要自己的 SSL 证书?
    • @HaydenWilliams 如果你有 SSL 设置,那么一切都应该通过你的域和 https。您不应使用 http 或 eb 域在您的应用程序中拨打任何电话。还要确保 ssl 已正确注册到您的域或其子域。
    • 谢谢,问题已解决。我是一名新开发人员,所以这个问题源于我对 API 用例和 HTTPS 的混淆。我正在对我的 beanstalk url 进行 api 调用,这在测试时和在 HTTP 下运行良好。调用我的自定义域显然是正确的方法
    • 感谢这篇文章。我怎样才能完成上面的(3)?
    • @Biiiiiird 我建议针对您的用例和问题提出新问题。
    猜你喜欢
    • 1970-01-01
    • 2021-01-02
    • 2023-03-03
    • 2019-02-05
    • 2018-08-14
    • 1970-01-01
    • 2020-11-09
    • 2017-11-26
    • 1970-01-01
    相关资源
    最近更新 更多