【问题标题】:How to connect to ssl enabled cloud sql instance with blazer ruby gem如何使用 blazer ruby​​ gem 连接到启用 ssl 的云 sql 实例
【发布时间】: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


    【解决方案1】:

    在您的数据库 URI 中,我看到以下内容:

    ...?config/sslca=server-ca.pem&...
    

    我认为应该是:

    sslca=config/server-ca.pem
    

    【讨论】:

    • 非常感谢。我的错。
    猜你喜欢
    • 2020-06-23
    • 2020-08-02
    • 2015-08-18
    • 1970-01-01
    • 2013-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多