diff --git a/lib/net/http.rb b/lib/net/http.rb index fe856ac8..debf1035 100644 --- a/lib/net/http.rb +++ b/lib/net/http.rb @@ -973,6 +973,12 @@ def do_start private :do_start def connect + if use_ssl? + # reference early to load OpenSSL before connecting, + # as OpenSSL may take time to load. + @ssl_context = OpenSSL::SSL::SSLContext.new + end + if proxy? then conn_addr = proxy_address conn_port = proxy_port @@ -1020,7 +1026,6 @@ def connect end end end - @ssl_context = OpenSSL::SSL::SSLContext.new @ssl_context.set_params(ssl_parameters) @ssl_context.session_cache_mode = OpenSSL::SSL::SSLContext::SESSION_CACHE_CLIENT |