Ruby Datamapper 通过 SSL 连接到 Amazon RDS 上的 MariaDB

标签 ruby ssl amazon-rds ruby-datamapper

如何使用 SSL 与 Amazon RDS 上的 MariaDB 建立 ruby​​ Datamapper 连接?

这是我做的:

非 SSL 连接在测试时有效:

uri = 'mysql://user:pass@host:port/db_name'
connection = DataObjects::Connection.new(uri)
=> #<DataObjects::Mysql::Connection:0x000056179a3a5921

connection.secure?
=> false

根据MySQL datamapper wiki ,ssl 连接需要以下选项::ssl_ca、:client_key 和 :client_cert

这将导致以下代码:

uri = 'mysql://user:pass@host:port/db_name?'
ssl_opts = 'ssl[ssl_ca]=file&ssl[client_key]=file&ssl[client_cert]=file'

connection = DataObjects::Connection.new(uri + ssl_opts)
connection.secure?
=> false

然而,唯一获得的文件是 RDS combind CA bundle , 引用自 RDS docs

我根本没有 client_cert。

在 cli 上使用 SSL 连接 mysql 客户端:

mysql --ssl -h host -u user -p pass db_name
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 1638
Server version: 10.1.26-MariaDB MariaDB Server

最佳答案

在文档中

https://github.com/datamapper/do/wiki/MySQL

它还说

  • 经测试,连接到 RDS 只需要 ca_cert。

因此尝试仅添加 ca_cert 路径并进行测试

关于Ruby Datamapper 通过 SSL 连接到 Amazon RDS 上的 MariaDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47672977/

相关文章:

python - SSL:CERTIFICATE_VERIFY_FAILED 证书验证失败

mysql - 数据库安全组只能与使用 API 版本的 VPC 数据库实例相关联

ruby-on-rails - RVM 安装错误

ruby - 流量是多少? `initialize` 在做什么?

java - 带有 FTP 登录错误的 HTTPS 客户端 : javax.net.ssl.SSLException: 502 SSLv23/TLSv1 java

Windows 7 上的 RubyGems 2.5.0 SSL_connect 证书验证失败

c# - 为什么 Ruby 套接字服务器可以与其他 Ruby 套接字客户端配合使用,但不能与 C# 套接字客户端配合使用?

Ruby:一个函数返回另一个函数

postgresql - 使用 AWS 数据迁移服务 (DMS) 从 Heroku PostgreSQL 迁移到 AWS RDS 不工作

mysql - RDS 实例上的慢 Mysql 存储过程