我知道server.timeout和socket的keepalive超时默认超时为120秒。但在我的情况下,我已经将http代理设置更改为170秒,并将socket.timeout和服务器超时更改为170秒。仍然收到错误ECONNRESET" socket hangup"。
以下是代理设置和套接字时间设置。
"proxy_agent": {
"maxSockets" : 256,
"maxFreeSockets" : 256,
"keepAlive" : true,
"keepAliveMsecs" : 170000,
"keepAliveTimeout" : 15000,
"timeout" : 170000
},
和套接字设置
var setupSocket = function(socket) {
socket.setNoDelay(true);
socket.setTimeout(170000);
socket.server.timeout = 170000;
socket.setKeepAlive(true,0);
return socket;
};
下面是调试器屏幕截图,显示我已正确设置的所有自定义值。
答案 0 :(得分:0)
最后我遇到了问题。 http('连接')和https(' secureConnection')有两个单独的事件,因此仅对之前的http禁用套接字超时。所以所有https请求仍然在默认的120秒时间内超时。因此,在禁用' secureConnection'事件,然后https请求实际工作,直到给定的请求超时。
注意:此问题仅适用于https,我最初无法识别哪个是解决问题的关键。谢谢。