我正在尝试通过 SSL 远程连接到 mysql 数据库,验证服务器的证书以匹配用于连接到服务器的 DNS 域。
使用命令行 mysql
工具,我可以使用 mysql --ssl-ca=/path/to/cacert.pem --ssl-verify-server 建立这样的连接-cert
.
使用 rails mysql2,我设置了 sslca:
¹,这会导致像 mysql --ssl-ca=
那样的未完全验证的 SSL 连接。如果服务器证书的域错误,我该如何执行与 --ssl-verify-server-cert
等效的操作,以便连接失败?
我尝试添加以下内容,但对这个问题没有影响:flags: SSL_VERIFY_SERVER_CERT
, flags: CLIENT_SSL_VERIFY_SERVER_CERT
, flags: 1073741824
和 secure_auth: true
。
¹ config/database.yml 中的 sslca:/path/to/cacert.pem
或 ?sslca=/path/to/cacert.pem
mysql2://
网址
最佳答案
使用mysql2>=0.4.0
,您可以在您的文件中设置sslverify: true
和sslca: path/to/cert_chain.pem
适配器配置以使客户端验证服务器身份。
关于ruby-on-rails - rails mysql2 : how to verify mysql server's SSL certificate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24172119/