下面的代码产生以下错误:OpenSSL::SSL::SSLError:SSL_connect SYSCALL returned=5 errno=0 state=SSLv3 read server hello A
require 'net/https'
uri = URI.parse("https://<server>.com")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.ssl_version = 'SSLv3'
http.get(uri.request_uri)
知道为什么吗?我try 了所有其他问题中提到的一切,但仍然没有成功.
- Ruby 1.9.3p484(2013-11-22修订版43786)[x86_64-darwin13.3.0]
- OpenSSL 0.9.8年2013年2月5日
Update I
try 了以下操作:
- Ruby 2.0.0p353(2013-11-22修订版43784)[x86_64-darwin13.3.0]
- OpenSSL 1.0.1i 2014年8月6日
Update II
- 强制ssl_版本为:TLSv1_2
还是不走运.
Update III
好的,这是最后的代码——感谢Steffen(见下面的答案):
require 'net/https'
uri = URI.parse("https://<server>.com")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.ssl_version = :TLSv1
http.ciphers = ['RC4-SHA']
http.get(uri.request_uri)
因为我的远程问题与其他任何人都有关系.