【发布时间】:2020-03-27 23:35:49
【问题描述】:
我正在开发一个托管在 AWS-Beanstalk 上并使用 RDS Aurora - PostgreSQL 数据库的 Rails 应用程序。
我的应用程序有 3 个环境:Dev、Staging 和 Production
我在 RDS 控制台上看到这条消息:
在 2020 年 3 月 5 日之前更新您的 Amazon RDS SSL/TLS 证书 为避免使用 RDS 和 Aurora 数据库的应用程序中断,请在 2020 年 3 月 5 日之前更新这些数据库的证书颁发机构 (CA) 证书。我们强烈建议您在 2020 年 2 月 5 日之前进行更新,以便为部署、测试和验证。 2020 年 1 月 14 日之后创建的新数据库将默认使用新的 CA 证书。确保首先使用新证书更新客户端应用程序。
后来我看到 Dev 和 Staging 的 RDS 实例已经升级到最新的 SSL 证书,并且这条消息只出现在 Production 的 RDS 实例中
所以我尝试让 Dev 和 Staging 的 RDS 实例使用较旧的 SSL 证书(与生产的证书相同)-> 从 https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html 下载最新的证书文件,然后在我的 config/database.yml 中附加这两行:
production:
sslmode: 'verify-full'
sslrootcert: /path/to/cert/file
进行此更改后,我将更改部署到 Dev -> 结果:构建成功。然后,从 RDS 控制台,我尝试将 Dev 实例的 SSL 证书升级到最新版本,成功了
有几件事我想更清楚
- YML 文件中的这种更改以前没有。似乎添加这些行会使环境不那么灵活。这可以避免 - 但如何避免?
- 最初,当 Dev 和 Staging 的 RDS 实例升级到最新的 SSL 证书时,我的应用程序正在运行,但我不知道/不知道我的 Dev 和 Staging 应用程序是否使用最新的 SSL 证书!有什么方法可以确认我的应用也升级到了最新的 SSL/TSL 证书?
【问题讨论】:
-
您好,您在这个问题上还需要其他帮助吗?或者您还好吗?
-
嘿@big-K 我最初打算尝试您提供的专用堆栈,但无法确认这在我的情况下是否有效,因为我的应用程序环境中只有 1 个因此而受影响.yml 文件中的条目也有效。就 env 的灵活性而言,这不是问题,因为我们不会很快从 AWS 迁移到任何其他云基础设施,如 heroku。我要感谢您提供这些步骤,我将把它放在手边,因为我的一些同事可能很快(三月底之前)需要这个
标签: ruby-on-rails postgresql amazon-elastic-beanstalk amazon-aurora