【发布时间】:2018-05-20 06:09:51
【问题描述】:
如何使用 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, and :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 上与 mysql 客户端连接使用 SSL:
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
【问题讨论】:
标签: ruby ssl amazon-rds ruby-datamapper