无法与ruby建立https连接

时间:2012-09-04 16:11:58

标签: ruby openssl rvm ruby-1.9.3 rbenv

我尝试过5种不同版本的红宝石,目前使用的是1.9.2-p194。我收到此错误:

Connection reset by peer - SSL_connect (Errno::ECONNRESET)

我已经重新编译了,我尝试了rvm,rbenv,甚至apt-get ruby​​ ......这很有效:

openssl ssl_client -connect google.com:443

但事实并非如此:

require "net/https"
require "uri"

uri = URI.parse("https://google.com/")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

http.start do |agent|
  p agent.get(uri.path).read_body
end

有没有人有任何想法我怎么能更好地调试这个?我正在使用Ubuntu 12.04。在本地,这是有效的,我使用的是Ubuntu 10.10。但是,openssl ssl_client适用于两种操作系统,因此我只能假设它是一个红宝石问题。

编辑:

使用rbenv 1.9.2-p320工作,但同样的ruby版本在rvm下无效。我很欣赏任何见解。

2 个答案:

答案 0 :(得分:2)

我想在安装OpenSSL之后你必须重新安装(重新编译)Ruby:

rvm reinstall 1.9.3

答案 1 :(得分:1)

为了那些有同样问题的人。我发现我的问题是因为我有 ssl:在config / ldap.yml中为true(如果有,请确保您的ldap服务器是ssl)。 如果这有助于您选择这个作为接下来的人的答案。