代码之家  ›  专栏  ›  技术社区  ›  Lomefin

典型ssl_connect_error

  •  0
  • Lomefin  · 技术社区  · 5 年前

    我正试图通过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的错误太小,但是否有方法获得正确的请求?我尝试连接的服务器很大,因此任何需要的升级都不会很快被考虑在内。

    1 回复  |  直到 5 年前
        1
  •  1
  •   Lomefin    5 年前

    过了一会儿,我伸手进去 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')
    
        2
  •  0
  •   user1519240    4 年前

    谢谢,我也得通过 ssl_verifypeer: false ,例如:

    Typhoeus::Request.new(
      url, 
      method: :get,
      followlocation: true,
      ssl_cipher_list: 'DEFAULT:!DH', 
      ssl_verifypeer: false
    )