简体   繁体   English

OpenSSL :: SSL :: SSLError:Ruby 2.2.1上的SSL_connect错误

[英]OpenSSL::SSL::SSLError: SSL_connect error on Ruby 2.2.1

Here's the code to run: 这是要运行的代码:

require "net/http"

uri = URI.parse("https://www.google.com")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri.request_uri)
response = http.request(request)

I got two version of irb in my Mac OSX. 我的Mac OSX中有两个版本的irb One comes default with system. 系统自带一个默认值。 The other is installed later on through rvm. 另一个通过rvm稍后安装。

  • /usr/bin/irb (ruby 2.0.0p481) / usr / bin / irb(红宝石2.0.0p481)
  • /Users/user/.rvm/rubies/ruby-2.2.1/bin/irb (ruby 2.2.1p85) /Users/user/.rvm/rubies/ruby-2.2.1/bin/irb(ruby 2.2.1p85)

When using older irb, run above code, it gives me: 使用较早的irb时,请运行上述代码,它会为我提供:

#<Net::HTTPOK 200 OK readbody=true>

When using newer irb, run above code, it gives me: 使用较新的irb时,运行上面的代码,它会给我:

OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
    from /Users/user/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/http.rb:923:in `connect'
    from /Users/user/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/http.rb:923:in `block in connect'
    from /Users/user/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/timeout.rb:74:in `timeout'
    from /Users/user/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/http.rb:923:in `connect'
    from /Users/user/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/http.rb:863:in `do_start'
    from /Users/user/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/http.rb:852:in `start'
    from /Users/user/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/http.rb:1375:in `request'
    from (irb):7
    from /Users/user/.rvm/rubies/ruby-2.2.1/bin/irb:11:in `<main>'

It should be the issue of SSL is not recognized by new version of ruby. 应该是新版本的ruby无法识别SSL的问题。 Tried different solutions on StackOverflow but none of them seems fix the problem. 在StackOverflow上尝试了不同的 解决方案 ,但似乎没有一个解决问题。

将OSX升级到El Capitan后,我通过rvm重新安装了Ruby 2.2.3,并且可以正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Ruby:SSL_connect SYSCALL返回= 5 errno = 0状态=未知状态(OpenSSL :: SSL :: SSLError) - Ruby: SSL_connect SYSCALL returned=5 errno=0 state=unknown state (OpenSSL::SSL::SSLError) 法拉第宝石 OpenSSL::SSL::SSLError: SSL_connect returned=1 - Faraday Gem OpenSSL::SSL::SSLError: SSL_connect returned=1 OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=error: 没有可用的协议 - OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=error: no protocols available Ruby错误SSL_connect - Ruby error SSL_connect Ruby OpenSSL :: SSL :: SSLError - Ruby OpenSSL::SSL::SSLError rails install - ERROR ...执行gem ...(OpenSSL :: SSL :: SSLError)SSL_connect ...读取服务器问候A:错误的版本号 - rails install - ERROR … executing gem … (OpenSSL::SSL::SSLError) SSL_connect … read server hello A: wrong version number OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=error: certificate verify failed (unable to get local issuer certificate) - OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=error: certificate verify failed (unable to get local issuer certificate) 如何修复Ruby中的&#39;OpenSSL :: SSL :: SSLError&#39;错误? - How to fix 'OpenSSL::SSL::SSLError' error in Ruby? OpenSSL :: SSL :: SSL错误:SSL_connect SYSCALL返回= 5 errno = 0状态= SSLv3 / TLS写入客户端问候 - OpenSSL::SSL::SSLError: SSL_connect SYSCALL returned=5 errno=0 state=SSLv3/TLS write client hello OpenSSL :: SSL :: SSLError:SSL_connect返回= 1 errno = 0状态=未知状态:未知协议 - OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=unknown state: unknown protocol
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM