为 Elasticbeanstalk 单实例乘客配置 SSL

Posted

技术标签:

【中文标题】为 Elasticbeanstalk 单实例乘客配置 SSL【英文标题】:configure SSL for Elasticbeanstalk single instance Passenger 【发布时间】:2016-04-16 19:34:31 【问题描述】:

我已尽一切努力为Elasticbeanstalk 上的单个实例启用 SSL,我已按照 AWS 上提供的链接使用 Passenger 对其进行配置。 AWS Link for Passenger,我已经在 elasticbeanstalk 上部署了我的 ssl 分支,并且所有内容都已更新,ENV 的运行状况也为绿色,但我没有发现负载均衡器有任何变化。

任何帮助将不胜感激!

【问题讨论】:

您在问题标题中提到了单实例,在问题正文中提到了负载均衡器。您使用的是两种环境类型中的哪一种? 你能清楚地告诉我你想要什么我会更新问题。任何帮助将不胜感激 这个环境是负载平衡的还是单实例的? @Tal 当我看到配置时,然后我在网络层中有负载均衡器。我真的不太了解它,我认为它是单一的,因为它上面运行着一个应用程序 如果您看到负载平衡器,而不是在单个实例环境中,而是在负载平衡环境中。这很好,因为它只是意味着您使用了错误的文档。我会发布答案 【参考方案1】:

您似乎使用了错误的文档。由于您使用的是负载平衡环境,因此您需要按照此处的说明进行操作:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/configuring-https.html

实际上更简单,因为您让 beanstalk 负载平衡器完全控制 HTTPS。步骤是: 1. 通过aws iam upload-server-certificate上传您的密钥 2. 转到 beanstalk web 控制台并在负载均衡器部分选择上传的密钥 3. 就是这样 - 您现在设置了 HTTPS (所有这些在上面提到的文档中都有详细说明)

【讨论】:

上传服务器证书?将使用哪个扩展证书? 有一些文件。 .crt, .pem ,当我从我购买证书的地方下载证书时。 1.通过 aws iam upload-server-certificate 上传您的密钥。哪个键?这就是我要问的? 您似乎无法上传密钥。这是我如何上传解冻证书的示例:aws iam upload-server-certificate --server-certificate-name my-certificate-thawte-151222 --certificate-body file:///tmp/thawte.www.mysite.co.crt.pem --private-key file:///tmp/thawte.www.mysite.co.key.pem --certificate-chain file:///tmp/thawte.ca.crt.chain 注意所有文件都是 pem 格式 实际上我使用digicert 来获取证书,它给了我不同的文件,3 个文件 = DigiCertCA.crt,TrustedRooot.crt,evercam_io.crt 我也可以拥有这三个 .pem 格式的文件,现在的问题是如何从中获取私钥公钥?

以上是关于为 Elasticbeanstalk 单实例乘客配置 SSL的主要内容,如果未能解决你的问题,请参考以下文章

AWS Elasticbeanstalk 单实例强制 SSL 重定向循环

Elastic Beanstalk:没有为 Rails 资产设置缓存控制标头(乘客独立)

Rails + Elastic Beanstalk + Passenger:更改乘客配置

无法从自定义域 HTTPS 访问 Elastic Beanstalk(单实例)

使用 eb-cli 创建单实例 Elastic Beanstalk 应用程序

Elasticbeanstalk 在单个 Python 实例上配置 HTTPS:模板中不允许使用空值