Error: connect ECONNREFUSED 200.142.86.219:443 using google cloud functions appears randomly
Error: connect ECONNREFUSED 200.142.86.219:443 using google cloud functions appears randomly
我一直在尝试使用 node.js 和位于美国的请求承诺库和 gCloudFunctions 向位于巴西的网页发出请求。当我访问它时,我用我的数据登录。
问题是有时有效,有时无效,当无效时,我在日志中收到以下错误:
Error: connect ECONNREFUSED xxx.xxx.xx.xxx:xxx
在我的本地机器上从未发生过错误,它只发生在 gCloud Functions 上。
到目前为止我做了什么:
重试了3次以上(在同一个初始页面),如果第一次没有成功,下次重试就永远不会成功。
尝试访问不同的网页,然后访问所需的网页,与以前一样,有时有效,有时无效。
已插入我要求的默认选项 rejectUnauthorized: false
。这使应用程序稳定了大约 24 小时,然后错误再次出现。
我的请求是这样设置的:
options = {
rejectUnauthorized: false,
jar: true,
headers: {
"Connection": "keep-alive",
"Host": "xxx.xxx.xxx.br",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36",
'Cache-Control': 'no-cache',
},
};
我不知道错误是如何产生的,但是当它正常发生时它会一直发生,一段时间后请求工作,然后停止,等等。
我的猜测是关于 google 云上的防火墙和 TSL。
解决了迁移到巴西另一台服务器的问题,可能是我尝试访问的服务器阻止了我的请求,我猜是因为它们彼此相距很远并且拒绝了此 'less' 优先级要求。也让我的请求更快!
我一直在尝试使用 node.js 和位于美国的请求承诺库和 gCloudFunctions 向位于巴西的网页发出请求。当我访问它时,我用我的数据登录。
问题是有时有效,有时无效,当无效时,我在日志中收到以下错误:
Error: connect ECONNREFUSED xxx.xxx.xx.xxx:xxx
在我的本地机器上从未发生过错误,它只发生在 gCloud Functions 上。
到目前为止我做了什么:
重试了3次以上(在同一个初始页面),如果第一次没有成功,下次重试就永远不会成功。
尝试访问不同的网页,然后访问所需的网页,与以前一样,有时有效,有时无效。
已插入我要求的默认选项
rejectUnauthorized: false
。这使应用程序稳定了大约 24 小时,然后错误再次出现。
我的请求是这样设置的:
options = {
rejectUnauthorized: false,
jar: true,
headers: {
"Connection": "keep-alive",
"Host": "xxx.xxx.xxx.br",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36",
'Cache-Control': 'no-cache',
},
};
我不知道错误是如何产生的,但是当它正常发生时它会一直发生,一段时间后请求工作,然后停止,等等。
我的猜测是关于 google 云上的防火墙和 TSL。
解决了迁移到巴西另一台服务器的问题,可能是我尝试访问的服务器阻止了我的请求,我猜是因为它们彼此相距很远并且拒绝了此 'less' 优先级要求。也让我的请求更快!