我正在使用node-twilio,并且每次请求都会收到"Error: Unable to reach host: "api.twilio.com"
。我们已经通过mtr
检查了数据包,他们正在访问api.twilio.com。在GCE上使用debian。
答案 0 :(得分:4)
经过几天的挖掘,发现node-twilio模块错误地显示了许多错误:
“错误:无法联系到主持人:”api.twilio.com“。
以下几行:
var error = null;
if (err || (response && (response.statusCode < 200 || response.statusCode > 206))) {
error = {};
// response is null if server is unreachable
if (response) {
error.status = response.statusCode;
error.message = data ? data.message : 'Unable to complete HTTP request';
error.code = data && data.code;
error.moreInfo = data && data.more_info;
} else {
error.status = err.code;
error.message = 'Unable to reach host: "'+client.host+'"';
}
}
这是因为您的链中有自签名证书,而基础模块twilio依赖于request,这会引发以下错误:
Error: SELF_SIGNED_CERT_IN_CHAIN
但这不是node-twilio抛出的错误(他们的错误传播错误)
有两个修复:
1.Tell nodejs通过设置忽略链中的自签名证书:
export NODE_TLS_REJECT_UNAUTHORIZED=0
参考文献:
https://github.com/request/request
https://github.com/twilio/twilio-node/blob/45858420688854494c2ed476a1997773c33a32a0/lib/Client.js
Ignore invalid self-signed ssl certificate in node.js with https.request?
答案 1 :(得分:0)
可能是由于您的互联网连接所致。
几分钟后,如果您有互联网,请重试,它应该可以工作。