问题描述
我正在尝试通过 Typhoeus on Rails 连接到 WebService,响应给我一个代码 0。 它告诉我发生了 ssl_connect_error。
Typhoeus 的文档说要阅读消息详细信息以了解错误的性质。
一段时间后,我可以得到生成的 curl url 并考虑到我得到了潜在的错误
error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small
尽管 DH Key 错误太小,有没有办法获得正确的请求?我尝试连接的服务器很大,因此短期内不会考虑任何需要的升级。
解决方法
一段时间后,我进入了 https://imlc.me/dh-key-too-small,它提供了有关如何降低自己的安全级别的说明。
但它也告诉你可以将 --cipher 'DEFAULT:!DH
添加到 curl 命令行
现在,要使该标志在 Typhoeus 中起作用,您必须向 Ethon 发送有关它的选项。在 Ethon Options 中,ssl_cipher_list
是有效选项。
所以现在您可以像这样将 ssl_cipher_list
添加到您的 Request
选项中
request = Typhoeus::Request.new(url,method: method,body: body,headers: headers,params: params,ssl_cipher_list: 'DEFAULT:!DH')