我有一些代码可以在Net::HTTP
之外进行一些https
次调用此代码在irb
然而,当从rails
或rails console
使用时,我收到错误:
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
from /Users/kevzettler/.rbenv/versions/2.0.0-p353/lib/ruby/2.0.0/net/http.rb:918:in `connect'
答案 0 :(得分:0)
我通过手动传递SSL验证来避免此问题,如下面的代码。
uri = URI(@url)
req = Net::HTTP::Get.new(uri.path)
response = Net::HTTP.start(
uri.host, uri.port,
:use_ssl => uri.scheme == 'https',
:verify_mode => OpenSSL::SSL::VERIFY_NONE) do |https|
https.request(req)
end
引自此处:https://github.com/matsubo/web_update_checker/blob/master/lib/web_update_checker.rb#L44