为使用 Elastic Beanstalk 和 LightSail 的子域配置 SSL

Posted

技术标签:

【中文标题】为使用 Elastic Beanstalk 和 LightSail 的子域配置 SSL【英文标题】:Configuring SSL for subdomains that use Elastic Beanstalk and LightSail 【发布时间】:2020-12-04 03:40:45 【问题描述】:

我已经能够使用 AWS 的证书管理器设置 SSL 证书并将其用于两个 Elastic Beanstalk 环境。一个在 example.com 上,另一个在 dev.example.com 上。 Https 对两者都适用。

现在,我们需要将 example.com 替换为 LightSail WordPress 安装。当前的 example.com Elastic Beanstalk 环境正在迁移到另一个子域。

我不熟悉 LightSail,文档似乎只涉及在 LightSail 内部设置 DNS 记录,而不是从 Route 53 开始。至少在提到 SSL 时。

文档确实提到您可以在 Route 53 中创建一条 A 记录并将其指向 LightSail 静态 IP 地址,我已经这样做了,但是 https 无效。据推测,我需要以某种方式分配 SSL 证书,但我没有任何运气弄清楚这一点。

我是否需要在 LightSail 中创建负载均衡器,或者是否有其他方法可以使用相同的 SSL 证书让 Route 53 中的一个域指向不同类型的 AWS 产品?

【问题讨论】:

【参考方案1】:

我需要以某种方式分配 SSL 证书,但我没有任何运气弄清楚这一点。

ACM 证书只能用于负载均衡器、API 网关和 CloudFront 分配。它们不能在实例上使用

两个选项来纠正这个问题:

使用load balancer with your lightsale。有了这个,您只需在提供的平衡器上安装您的 ACM 证书。 在实例上设置 SSL 证书。由于您不能为此使用 ACM,因此您必须为此获得 第三方 证书。一个流行的选择是https://letsencrypt.org/,它提供免费的公共证书。

【讨论】:

感谢您为我指明正确的方向。在进一步研究了 LightSail 负载均衡器选项后,额外的成本违背了不使用 Elastic Beanstalk 的目的。 LightSail 和 Let's Encrypt 目前可以使用。

以上是关于为使用 Elastic Beanstalk 和 LightSail 的子域配置 SSL的主要内容,如果未能解决你的问题,请参考以下文章

使用 Amazon Elastic Beanstalk 部署 symfony2.1 应用程序

如何使用 Terraform 为 Elastic Beanstalk 环境定义条件(每个环境)设置?

使用 terraform 为 Elastic Beanstalk 启用托管更新

为 Elastic Beanstalk 环境配置 HTTPS

AWS Elastic Beanstalk 和 JAVA_OPTS

如何在 AWS Elastic Beanstalk 中为多个 grails 环境使用单个 .war?