Ruby 连接由对等方重置 - SSL_connect (Errno::ECONNRESET)

标签 ruby ssl zendesk

以下代码将始终以 #<Errno::ECONNRESET: Connection reset by peer - SSL_connect> 结尾错误信息。

它可能会在 5 秒后或 30 分钟后失败。

require 'net/https'

http = Net::HTTP.new('newproduct.zendesk.com', 443)
http.use_ssl = true

req = Net::HTTP::Head.new('/')

while true
  res = http.start { http.request(req) }
end

在 Mac 和 Linux 上运行时会发生这种情况,导致我的批处理作业失败。

似乎很难调试,但有什么我应该注意的吗?

最佳答案

ECONNRESET 是一个套接字错误,表示连接的另一端(在本例中为 Zendesk)突然终止了连接。可能是他们端的网络错误,或者介于您和 Zendesk 之间的某个地方。

在使用 Zendesk gem for ruby​​ 时,我每隔几百次调用就会遇到同样的错误。

对我有用的是挽救这些错误,将不成功的 API 调用的参数存储在数组(或文件或 Redis)中,稍后重试。

关于Ruby 连接由对等方重置 - SSL_connect (Errno::ECONNRESET),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37812685/

相关文章:

ruby-on-rails - 如何遍历 ruby​​ 中的 yaml 哈希结构?

android - 您需要在 zendesk sdk 中将 Theme.AppCompat 主题(或后代)与此 Activity 一起使用

ruby - gets.chomp 在 ruby​​ 中的一个函数中

ruby - 从 ruby​​ 中的多个线程写入单个文件

ssl - 如何让 Jetty 9 在访问 keystore 时忽略 keepass?

internet-explorer - Internet Explorer 不提示输入客户端证书

ssl - 使用 ServiceStack.Redis 连接到 TSL Redis 云

iOS SDK : Push Issue Creation rather than present 'modally'

python - 如何在 Zenpy python 客户端库中将受托人设置为票证

ruby-on-rails - rails : populate an existing table via a migration