当前位置: 首页 > 知识库问答 >
问题:

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

邵麒
2023-03-14

下面是要运行的代码:

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)

我的Mac OSX中有两个版本的irb。一个是系统默认的。另一个是稍后通过rvm安装的。

  • /usr/bin/irb(ruby 2.0.0p481)
  • /用户/用户/. rvm/ruby-2.2.1/bin/irb(ruby 2.2.1p85)

当使用较旧的irb时,运行上面的代码,它会给我:

<代码>#

当使用较新的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>'

这应该是新版本的ruby无法识别SSL的问题。在StackOverflow上尝试了不同的解决方案,但似乎都没有解决问题。

共有1个答案

程谦
2023-03-14

将我的OSX升级到埃尔卡皮坦之后,我通过rvm重新安装了Ruby 2.2.3,它的工作原理。

 类似资料:
  • 我正在学习如何在apache 2.4 Web服务器(Windows Server 2012)上启动和运行ssl。在没有SSL的情况下,我的web服务器和PHP运行得非常好。 我生成了证书和密钥,并将它们放在C:\Apache24\conf中 我修改了httpd。conf,方法如下: 我修改了c:\Apache24/conf/extra/httpd-ssl。conf,方法如下: < li >添加了以

  • 问题内容: 我试图使用pip在virtualenv中安装pycurl,但出现此错误 我读了一些文档,说 “要解决此问题,您需要告诉setup.py使用了什么SSL后端” (源),尽管由于使用pip安装了pycurl,所以我不确定该怎么做。 使用pip安装pycurl时如何指定SSL后端? 谢谢 问题答案: 读取他们的INSTALLATION文件后,我可以通过设置环境变量解决问题并重新安装 删除现有

  • 如何修复这个错误,发生在DebianLinux使用ssl命令与红宝石? /usr/lib/ruby/1.8/net/http.rb:586:在连接:SSL_connect返回=1 errno=0状态=未知状态:不支持的协议(OpenSSL::SSL::SSLError) 我找到了答案,我ḿ 将此作为其他用户的参考发布。

  • 我在 Heroku 上托管了 Rails API 服务器,该服务器对客户端在初始 API 请求中指定的回调 URL 发出异步 POST 请求。 当我试图通过SSL向我的一个客户的webapp发送邮件时,我遇到了一个问题。 以下会引发错误: 但是,如果我通过HTTPS发布到另一台服务器,例如谷歌,它工作正常 这是否意味着问题出在客户端的SSL配置上?如果是这样,我如何帮助他们解决问题? 更新: 我可

  • 我使用Python3。Windows 7上的x 64位,在无法完全控制入站/出站流量处理的环境中。到本周为止,我已经能够使用标记pip,一切正常。本周,即使使用了标志,我也开始出现以下错误。 鉴于本周的pypi更改,我尝试将标志更改为,但这似乎没有帮助。 我还尝试下载和安装certifi、wincerstore和win32 certifi的轮子,以及针对此类问题的其他stackoverflow建议

  • 我试图通过Facebook或Twitter验证用户,让他们填写信息,然后单击保存(从而创建用户记录)。我得到一个OpenSSL错误的最后一步-点击保存后。这发生在设计注册控制器#创建方法中。 因此,我在Heroku上托管的Rails应用程序中遇到了这个错误: 我见过很多解决方案,但都不奏效。以下是我尝试过的一些事情: 1)安装gem 2)升级Heroku宝石v2.30,再推 3)这: 看起来一个问