2016-09-29 5 views
0

У меня есть код проверки ruby, который попадает в конечную точку API и отправляет его JSON.Как получить дополнительную информацию, чем `Errno :: ECONNRESET: существующее соединение было принудительно закрыто удаленным хостом. - SSL_connect`

RestClient.post(url, json, :content_type => :json, :accept => :json) { |response, request, result| 
    @last_response = response 
} 

Он работает, периодически, давая эту ошибку.

Errno::ECONNRESET: An existing connection was forcibly closed by the remote host. - SSL_connect 

Что я могу получить больше информации о том, что происходит?

ответ

1

Установив переменную окружения RESTCLIENT_LOG=stdout, вы увидите данные отладки RestClient в терминале. Или вы можете заменить stdout на путь к файлу, чтобы записать его в файл журнала.

Причиной может быть недействительный SSL-сертификат или просто фиктивная конечная точка API, которая иногда отключается перед возвратом ответа.

1

Это может быть сложно устранить эту сетевую ошибку. Если он продолжит работу, вы можете попробовать захватить сетевой трафик с помощью Wireshark или tcpdump, что может дать некоторое представление о том, что происходит.

Обычно ECONNRESET обычно означает, что удаленный сервер закрыл соединение, пока у клиента все еще были данные, помещенные в очередь для его отправки.