我有以下代码:
http = Net::HTTP.new(parsed_url.host, 443)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
protocol = "https"
一天之内,就有上千个电话打了过来。SSLv3
由于贵宾犬漏洞,接收请求的服务器已禁用。实际的 http 调用包含在一个超时块中,该块等待 8 秒以等待来自服务器的响应。此代码在 99% 的时间内成功执行请求,但偶尔会发生超时。在与亚马逊支持团队合作后,确定所有超时的呼叫都是使用 进行的SSLv3
,这导致了握手错误。所有成功的调用都使用TLSv1.1
或TLSv1.2
。
任何人都可以解释一下可能导致 ruby 在其尝试中偶尔使用 SSLv3 的原因吗?对于其他上下文,此 ruby 代码与 Nginx / Phusion Passenger 一起使用,并在 Amazon Ec2 实例上运行。