我有一个rails应用程序,它托管在谷歌云flex应用程序引擎中。应用程序使用ssl证书连接到云sql实例(mysql5.7(。rails应用程序成功连接到启用ssl连接的云sql实例。database.yml配置如下。
development:
adapter: mysql2
database: databasename
host: 10.2.224.3
username: root
password: password
sslca: config/server-ca.pem
sslkey: config/client-key.pem
sslcert: config/client-cert.pem
但当我把blazer gem安装到我的应用程序中时。https://github.com/ankane/blazer#mysql-1
Blazer只能使用云sql的私有ip地址来连接云sql实例,这允许不安全的连接。Blazer.yml配置如下
data_sources:
my_source:
url: mysql2://root:password@10.2.224.3:3306/databasename
当我在我的云sql实例中启用ssl时。Blazer无法连接到我的启用ssl的云sql实例,并且得到了"SSL连接错误:无法获取证书";错误消息。在blazer.yml中进行如下配置。
data_sources:
my_source:
url: mysql2://root:password@10.2.224.3:3306/databasename?config/sslca=server-ca.pem&config/sslcert=client-cert.pem&sslkey=config/client-key.pem
如何配置rails gem blazer的blazer.yml,使其连接到启用ssl的云sql-mysql实例?或者我可能会问我什么时候将rails应用程序安装到flex应用程序引擎中。如何在flex应用程序引擎中找到我的ssl证书文件的路径。位于rails的config文件夹中。
如有任何建议,不胜感激。
在您的DB URI中,我看到以下内容:
...?config/sslca=server-ca.pem&...
我认为应该是:
sslca=config/server-ca.pem