【发布时间】:2020-10-29 11:18:01
【问题描述】:
我有一个托管在 google cloud flex 应用引擎中的 rails 应用程序。应用程序使用 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 只能使用 cloud sql 的私有 ip 地址连接 cloud sql 实例,这允许不安全的 connection.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 的配置文件夹中。
任何建议将不胜感激。
【问题讨论】:
标签: ruby-on-rails rubygems google-cloud-sql app-engine-flexible