Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 使用Net::HTTP设置ssl版本_Ruby_Ubuntu_Ssl_Openssl_Ruby On Rails 6 - Fatal编程技术网

Ruby 使用Net::HTTP设置ssl版本

Ruby 使用Net::HTTP设置ssl版本,ruby,ubuntu,ssl,openssl,ruby-on-rails-6,Ruby,Ubuntu,Ssl,Openssl,Ruby On Rails 6,我有一个只接受SSLv3和SSLv3的旧服务器。我想在发出请求时设置ssl版本 http = Net::HTTP.new(@request.uri.host, @request.uri.port) http.use_ssl = @request.uri.scheme == 'https' http.ssl_version = :SSLv3 http.verify_mode = OpenSSL::SSL::VERIFY_NONE 导致 [2020-09-10T05:37:14.452819 #2

我有一个只接受SSLv3和SSLv3的旧服务器。我想在发出请求时设置ssl版本

http = Net::HTTP.new(@request.uri.host, @request.uri.port)
http.use_ssl = @request.uri.scheme == 'https'
http.ssl_version = :SSLv3
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
导致

[2020-09-10T05:37:14.452819 #254200] FATAL -- :   
OpenSSL::SSL::SSLError (SSL_CTX_set_min_proto_version):
我尝试了其他组合,但失败了。
http.ssl\u版本=:SSLv3
http.ssl\u version=“SSLv3”


如何设置特定的ssl版本?我正在使用Ruby 2.7.1和Rails 6。谢谢。

在大多数最新版本的OpenSSL中,对SSLv3的支持在编译时被静态禁用,因为该协议被广泛认为是不安全的。因此,通常没有办法在那些OpenSSL版本上仍然使用SSLv3

如果SSLv3是一个硬需求,那么您可能必须首先使用合适的配置选项编译自己的OpenSSL版本,然后根据自定义OpenSSL编译Ruby


最好是更新服务器以支持较新的更安全的协议(如TLSv1.2或TLSv1.3),或者要求服务器的操作员这样做。

服务器正在运行的Win 2003 server!可能会考虑将服务器升级到至少2008 R2,因为它似乎支持TLSv1.2。谢谢。只是一个更新:升级旧服务器是一件痛苦的事,所以最终通过一个接受新TLS版本的新服务器使用反向代理。