我正在构建一个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);
});
答案 0 :(得分:0)
事实证明,我的Mac的IP与其他机器在不同的子网上。