"PG::ConnectionBad: SSL error: point is not on curve" in Redshift via Ruby/PG gem using SSL

"PG::ConnectionBad: SSL error: point is not on curve" in Redshift via Ruby/PG gem using SSL

尝试通过 SSL 在 Ruby(通过 PG gem)中对 Amazon Redshift 进行 运行 查询时出现以下错误:

PG::ConnectionBad: SSL error: point is not on curve

此错误只发生在我的本地 Mac OS X El Capitan 机器上,当我尝试通过 SSL 连接时。没有 SSL 的连接工作正常。在 Ubuntu 开发服务器上通过 SSL 连接也工作正常,这让我认为这是我本地 Ruby/OpenSSL 设置的问题。

运行 Ruby 2.2.2, OpenSSL 1.0.2e, pg gem 0.18.2.

我已确认我的 Ruby 使用的是预期的 OpenSSL 版本:

2.2.2 :001 > OpenSSL::OPENSSL_VERSION => "OpenSSL 1.0.2e 3 Dec 2015"

我还通过 Sequel gem.

验证了错误发生在 Rails/ActiveRecord 和普通旧 ruby 中

我正在使用的 pg 数据库配置集 sslmode: require

想法?

我使用的是旧版本 Postgres.app。将其更新到最新版本并重新安装 ruby(通过 RVM)解决了我的问题。

关于为什么这解决了这个问题的当前理论:显然 Postgres.app 提供了 psql 或在编译 pg [= 的本机扩展的过程中使用的其他东西19=]。 Postgres.app 提供的任何内容都不好,因此结果会直接传播到 gem 和应用程序本身。