错误:无法联系到主持人:" api.twilio.com"

时间:2016-05-08 07:37:25

标签: node.js twilio

我正在使用node-twilio,并且每次请求都会收到"Error: Unable to reach host: "api.twilio.com"。我们已经通过mtr检查了数据包,他们正在访问api.twilio.com。在GCE上使用debian。

2 个答案:

答案 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

  1. 找到自签名证书并将其从链中删除。以下是使用openssl的示例:https://serverfault.com/questions/590870/how-to-view-all-ssl-certificates-in-a-bundle
  2. 参考文献:

    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)

可能是由于您的互联网连接所致。

几分钟后,如果您有互联网,请重试,它应该可以工作。