Net :: HTTP对HTTPS请求的响应非常慢

出于某种原因,在我的开发机器上,我对通过Net :: HTTP执行的HTTPS请求的响应非常非常慢。 我尝试过RestClient和HTTParty,他们都有同样的问题。 它似乎无处不在。 我已经毫无问题地提出了数百次这些请求,但今天它们的速度令人难以忍受。

pry(main)> puts Time.now; HTTParty.get('https://api.easypost.com/v2/addresses'); puts Time.now; 2015-04-29 08:07:08 -0500 2015-04-29 08:09:39 -0500 

如您所见,响应耗时2.5分钟。 而且不只是这个EasyPost API URL。 我已经尝试过多次SSL请求到我知道可以连接的服务器( https : //google.com,https://weather.com等),它们都会导致相同的行为。 此外,我注意到从HTTP重定向到HTTPS的请求也会发生同样的情况。 现在,查看非ssl请求:

 pry(main)> puts Time.now; HTTParty.get('http://lookitsatravis.com'); puts Time.now; 2015-04-29 08:12:22 -0500 2015-04-29 08:12:22 -0500 

瞬间。 是什么赋予了? 我猜这是Ruby和OpenSSL之间的某些配置问题。 我重新安装了两个(使用Ruby 2.2.1和OpenSSL 1.0.2a),我正在使用OS X Yosemite 10.10.2来获取它的价值。 重新安装了我的所有gem,但问题仍然存在。 我尝试更改我的DNS设置以防万一,但没有骰子。 有没有其他我可以看到的或我可以改变的任何配置将解决这个问题?

问题不是Ruby或OpenSSL或任何上述库。 问题是我的MacBook上没有解析IPv6地址。 DNS查找首先返回IPv6地址,因此库试图连接到它,直到它超时,然后它们连接到工作正常的IPv4地址。

为OS X禁用IPv6 Yosemite 10.10.2为我工作。 这不是理想的,但在我能确定另一种解决方案之前,它才有效。

 networksetup -setv6off "Wi-Fi" 

谢谢@SteffenUllrich指出我的方向。

是什么解决了我的问题是禁用防病毒软件