ruby - Savon ruby gem 的“dh 键太小”
问题描述
升级到 Debian Buster 后,Savon 失败并显示:
SSL_connect returned=1 errno=0 state=error: dh key too small
/var/www/ws/capistrano/shared/bundle/ruby/2.5.0/gems/httpi-2.4.4/lib/httpi/adapter/net_http.rb:51:in `rescue in request'
/var/www/ws/capistrano/shared/bundle/ruby/2.5.0/gems/httpi-2.4.4/lib/httpi/adapter/net_http.rb:30:in `request'
/var/www/ws/capistrano/shared/bundle/ruby/2.5.0/gems/httpi-2.4.4/lib/httpi.rb:161:in `request'
/var/www/ws/capistrano/shared/bundle/ruby/2.5.0/gems/httpi-2.4.4/lib/httpi.rb:133:in `post'
/var/www/ws/capistrano/shared/bundle/ruby/2.5.0/gems/savon-2.12.0/lib/savon/operation.rb:94:in `block in call_with_logging'
/var/www/ws/capistrano/shared/bundle/ruby/2.5.0/gems/savon-2.12.0/lib/savon/request_logger.rb:12:in `log'
/var/www/ws/capistrano/shared/bundle/ruby/2.5.0/gems/savon-2.12.0/lib/savon/operation.rb:94:in `call_with_logging'
/var/www/ws/capistrano/shared/bundle/ruby/2.5.0/gems/savon-2.12.0/lib/savon/operation.rb:54:in `call'
/var/www/ws/capistrano/shared/bundle/ruby/2.5.0/gems/savon-2.12.0/lib/savon/client.rb:36:in `call'
我尝试通过更改 /etc/ssl/openssl.cnf
[system_default_sect]
#MinProtocol = TLSv1.2
#CipherString = DEFAULT@SECLEVEL=2
MinProtocol = None
CipherString = DEFAULT
但没有效果,我无法控制远程站点,所以我无法更改 DH 密钥另请参阅相关的 Debian 错误: https ://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907788
系统信息:
ruby version: ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-linux-gnu]
savon version: 2.12.0
我还在这里输入了一个问题https://github.com/savonrb/savon/issues/914
解决方案
UPS!重新启动 ruby 进程所需的 /etc/ssl/openssl.cnf 中的更改,重新启动后错误消失了!
推荐阅读
- google-sheets - 谷歌表格价值函数
- java - 如何使用流对这个 HashMap 进行展平和分组?
- angular - Angular /NgRx - 在 Effect 中传递泛型类型
- typescript - 在接口打字稿中支持静态和非静态方法
- javascript - 使用文件输入后,Javascript 警报会锁定 IOS Chrome 上的页面
- office365 - 为 Office 2019 和 365 创建 React 加载项
- javascript - Google Sheets API:batchGet 返回“未定义”
- spinnaker - 1.12.4 中缺少大三角帆 buildRpm 任务
- python - 从文本文件(例如:[[1,2],[3,4]])输入到python中的二维列表
- python - Python-带有列表元素列表的字典