【问题标题】:Provide SSL certificate to PostgreSQL in a Rails app在 Rails 应用程序中向 PostgreSQL 提供 SSL 证书
【发布时间】:2015-04-28 08:39:08
【问题描述】:

我有一个使用 Amazon RDS PostgreSQL 实例的 Elastic Beanstalk 上的 Rails 应用程序。

我希望 pg 使用 SSL 连接到这个数据库。

http://docs.aws.amazon.com/AmazonRDS/[...] 之后,我将rds-combined-ca-bundle.pem 保存在/config/ca/rds.pem,而我的database.yml 看起来像这样:

production:
  adapter: postgresql
  database: <%= ENV['DB_NAME'] %>
  username: <%= ENV['DB_USERNAME'] %>
  password: <%= ENV['DB_PASSWORD'] %>
  host: <%= ENV['DB_ADDRESS'] %>
  port: <%= ENV['DB_PORT'] %>
  sslmode: 'require'
  sslrootcert: 'config/ca/rds.pem'

但我不知道它是否真的使用 SSL:我可以将 sslrootcert 路径更改为任何内容,并且我的应用程序仍在运行。我错过了什么?

【问题讨论】:

  • 我看到您指向 pem 文件,并且我还看到一些文章提到了扩展名为 crt 的文件(如在此答案中:stackoverflow.com/questions/31355047/…),它们之间有什么区别?他们都为你工作吗?

标签: ruby-on-rails postgresql amazon-web-services amazon-elastic-beanstalk


【解决方案1】:

在您的 database.yml 中,您必须使用 sslmode: 'verify-full' 而不是 sslmode: 'require' 才能根据 SSL 证书中的端点验证实例端点。这样就使用了证书。

【讨论】:

    猜你喜欢
    • 2022-11-15
    • 2023-04-07
    • 2020-10-08
    • 2014-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-01
    相关资源
    最近更新 更多