rails net ruby ruby-on-rails-4 ssl openssl net-http

ruby - net - rails https



Net:: HTTP respuestas extremadamente lentas para solicitudes HTTPS (2)

El problema no era Ruby, OpenSSL ni ninguna de las bibliotecas anteriores. El problema es que las direcciones IPv6 no se resolvían en mi MacBook. La búsqueda DNS devolvió primero la dirección IPv6, por lo que las bibliotecas intentaron conectarse a ella hasta que se agotó el tiempo de espera y luego se conectaron a las direcciones IPv4 que funcionaron muy bien.

Deshabilitar IPv6 para OS X Yosemite 10.10.2 funcionó para mí. No es ideal, pero hasta que pueda determinar otra solución, funciona.

networksetup -setv6off "Wi-Fi"

Gracias @SteffenUllrich por señalarme en esa dirección.

Por alguna razón, en mi máquina de desarrollo recibo respuestas muy, muy lentas para las solicitudes HTTPS realizadas a través de Net :: HTTP. Intenté con RestClient y HTTParty y ambos tienen el mismo problema. Parece haber surgido de la nada. He hecho estas solicitudes cientos de veces sin problemas, pero hoy son insoportablemente lentos.

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

Como puede ver, la respuesta duró 2.5 minutos. Y no es solo esta URL de la API de EasyPost. He intentado numerosas solicitudes de SSL a servidores a los que sé que puedo conectarme ( https://google.com , https://weather.com , etc.) y todos tienen el mismo comportamiento. Además, noté que sucede lo mismo con las solicitudes redirigidas de HTTP a HTTPS. Ahora, revisa una solicitud que no sea 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

Instantáneo. ¿Lo que da? Supongo que es un problema de configuración en algún lugar entre Ruby y OpenSSL. He reinstalado ambos (usando Ruby 2.2.1 y OpenSSL 1.0.2a) y estoy usando OS X Yosemite 10.10.2 por lo que vale. Reinstalé todas mis gemas, pero el problema persiste. Traté de cambiar mi configuración DNS por las dudas, pero no por los dados. ¿Hay algún otro lugar donde pueda mirar o cualquier configuración que pueda cambiar que solucione este problema?


Lo que me solucionó el problema fue deshabilitar el antivirus