使用Ruby的open方法的OpenSSL :: SSL :: SSLError

时间:2017-02-27 14:23:35

标签: ruby-on-rails ruby openssl

我正在尝试使用Ruby的open方法获取https页面:

response = open("https://example.com", 'User-Agent' => 'somebot').read

有时会成功,但有时我会收到此错误:

OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=error: certificate verify failed
from /usr/local/lib/ruby/2.3.0/net/http.rb:933:in `connect_nonblock' 

这种情况发生的原因是什么?一些网站是如何运作的,有些网站却没有?

1 个答案:

答案 0 :(得分:0)

它出现在错误消息中:

error: certificate verify failed

使用安全连接(https)连接到某个服务器时,将检查证书链中的所有证书的有效性,直至根证书。如果链中的任何证书未通过有效性或根证书不是受信任的根证书,则会出现该错误。

如果您使用的是OSX并使用RVM,请参阅此readme。或者,请阅读有关问题here