Rails 一个 SSL 验证错误的问题

linjunhalida · 2016年03月01日 · 最后由 huacnlee 回复于 2016年03月02日 · 1833 次阅读

一个随机出现的问题:

架构:Rails + sidekiq + rest-client,服务器 A(国外 aws 上面),上面跑了好多的 rails 应用,提供 API

从服务器 A 上面的应用 R1 发起一个 http delete 请求到服务器 A 的应用 B,偶尔会出现报错:

RestClient::SSLCertificateNotVerified: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

并且是两个 sidekiq worker 同时发生这个报错

个人猜测:

  • 发起请求的地址是域名地址,包是跑到外面再跑回来的,中间有网络问题
  • http delete 包在传输过程中受到的不公平对待(ssl 应该不太可能吧?)
  • ssl 协议 certificate 传输过程中丢包,或者服务器处理 certificate 过程中出错(超时,数据传输不完整,丢包?)
  • rest-client 或者 ruby 库有问题,偶尔会发生这种现象
  • 服务器 A 当时状况不稳定,影响到了(怎么影响的?)

请问大家有没有遇到类似的状况,以及如何解决?谢谢~

偶尔出错?

需要 登录 后方可回复, 如果你还没有账号请 注册新账号