来自节点的休息呼叫失败

时间:2014-04-29 19:06:30

标签: node.js debugging networking express

我正在构建一个node.js / express应用程序,它可以远程调用其他内部Web应用程序(ASP.NET WEB API)来从中使用json。我们在公司网络中。这是一个奇怪的问题。

在我的Mac OSX(Mavericks)上,我可以从shell卷曲并从http://our_internal_host:9991/connections获取json。我也可以输入此URL并查看浏览器的JSON响应。

当我在本地运行此Express应用程序并请求进行远程调用的路由时,我在控制台上看到此错误。路由处理程序在下面记录此消息并且浏览器挂起。

{ [Error: connect ECONNREFUSED]
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect' }

节点进程无法建立与该地址的连接。我也有一台Windows 7机器在工作,我在Windows 7机器上没有遇到这个问题。当我在Windows 7上运行相同的节点应用程序时,我没有任何问题。

我不确定如何排查问题...

PS:我的同事具有相同的设置没有这个问题。我们比较了DNS配置,但我们的设置看起来是一样的。

非常感谢您解决此问题的任何指示。我知道这是特定于环境的问题,但不知道从哪里开始。

由于

编辑#1

路由处理程序进行远程调用,记录上面的错误...

var http = require('http');
var options = {
  host: 'our_internal_host',
  port: 9991,
  path: '/analytics'
};

http.get(options, function(res) {
    // removed response code
    console.log(res);
}).on('error', function(e) {
    console.log(e);
});

1 个答案:

答案 0 :(得分:0)

事实证明,我的Mac的IP与其他机器在不同的子网上。