rails mysql2:如何验证 mysql 服务器的 SSL 证书?

idu*_*ree 3 ssl ruby-on-rails ssl-certificate mysql2

我正在尝试通过 SSL 远程连接到 mysql 数据库,并验证服务器的证书以匹配用于连接到服务器的 DNS 域。

使用命令行mysql工具,我可以使用mysql --ssl-ca=/path/to/cacert.pem --ssl-verify-server-cert.

使用 rails mysql2,我设置了sslca:¹,这会导致未完全验证的 SSL 连接像mysql --ssl-ca=这样。--ssl-verify-server-cert如果服务器证书的域错误,我该怎么做才能使连接失败?

我尝试添加这对这个问题没有影响如下:flags: SSL_VERIFY_SERVER_CERTflags: CLIENT_SSL_VERIFY_SERVER_CERTflags: 1073741824,和secure_auth: true

¹要么sslca: /path/to/cacert.pem在配置/ database.yml中,或?sslca=/path/to/cacert.pem在一个mysql2://URL

pko*_*och 5

使用mysql2>=0.4.0,您可以在适配器配置中设置sslverify: truesslca: path/to/cert_chain.pem以使客户端验证服务器身份。