Errno :: ECONNRESET(通过对等方重置连接 - SSL_connect)OpenSSL证书? Ruby on Rails 2.3.15

时间:2013-12-18 01:12:32

标签: ruby openssl ssl-certificate ruby-on-rails-2 net-http

大家好,这是我的第一篇文章,如果我做错了,我很抱歉。

我在Ruby 1.8.7, Rails 2.3.15上使用centOS 6.5 VPS with openssl 1.01e ruby-gems 1.8.25, mongrel_rails server。我的应用程序需要使用Net :: HTTP over SSL连接到API并进行身份验证。关键的细节是一切都在完美地工作,突然间我没有改变,我开始得到:

Errno::ECONNRESET (Connection reset by peer - SSL_connect):<br />
  /usr/lib/ruby/1.8/net/http.rb:586:in `connect'<br />
  /usr/lib/ruby/1.8/net/http.rb:586:in `connect'<br />
  /usr/lib/ruby/1.8/net/http.rb:553:in `do_start'<br />
  /usr/lib/ruby/1.8/net/http.rb:542:in `start'<br />

根据Errno::ECONNRESET (Connection reset by peer - SSL_connect)以及网络上的一些其他答案,我被认为我的openSSL证书已经过时(这是我能想象的唯一解释为什么问题开始于以前正在运行的代码)。我阅读了有关修复openSSL证书的链接文章,但它只涉及OSX和一些Ubuntu信息,我使用的是CentOS 6.5而不是使用RVM。谁能告诉我如何重置Ruby在CentOS系统上使用的openSSL证书(如果这甚至是我的问题)?我已经坚持了几天而没有任何进展。

到目前为止,我尝试使用yum重新安装OpenSSL,使用/ script / installruby重新安装ruby,我无法在1.8.25之后更新ruby gems,或者服务器拒绝启动。

1 个答案:

答案 0 :(得分:0)

我不得不升级到ruby 1.9.3并强制使用sslv3。我仍然不知道前面的代码是如何在一夜之间停止工作的,因为在连接的任何一端都没有改变。我想故事的寓意是不要使用不受支持的红宝石。