小编Hes*_*ham的帖子

OpenSSL :: SSL :: SSLError:SSL_connect SYSCALL返回= 5 errno = 0 state = SSLv3读取服务器hello A

下面的代码产生以下错误:OpenSSL :: SSL :: SSLError:SSL_connect SYSCALL返回= 5 errno = 0状态= SSLv3读取服务器问候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)
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?我尝试了所有其他问题中提到的一切,但仍然没有运气.

  • Ruby 1.9.3p484(2013-11-22修订版43786)[x86_64-darwin13.3.0]
  • OpenSSL 0.9.8y 2013年2月5日

更新我

尝试以下方法:

  • Ruby 2.0.0p353(2013-11-22修订版43784)[x86_64-darwin13.3.0]
  • OpenSSL 1.0.1i 2014年8月6日

更新II

  • 强制ssl_version为:TLSv1_2

仍然没有运气.

更新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)
Run Code Online (Sandbox Code Playgroud)

我怀疑我的问题与其他人有关,因为它与远程配置错误的服务器有关.

ruby openssl ruby-on-rails net-http

32
推荐指数
1
解决办法
4万
查看次数

标签 统计

net-http ×1

openssl ×1

ruby ×1

ruby-on-rails ×1