我有一个与服务器通信的bluemix节点js应用程序。我有测试和生产环境。在开发环境中,我们与测试服务器进行通信,我得到一个节点js错误。
当我将服务器URL更改为生产服务器时,一切正常。
当我在localhost上运行应用程序并连接到测试服务器时,一切正常。
所以我的问题只出在与我公司测试服务器通信的bluemix环境中。错误是:
{
"code": "ENOTFOUND",
"errno": "ENOTFOUND",
"syscall": "getaddrinfo",
"hostname": "www.xxxxxxxxx.cz"
}
屏蔽了错误的主机名。
答案 0 :(得分:2)
从例外情况来看,我认为失败的代码正在进行dns查找。我编写了这个示例代码,发现错误类似或相同。
var dns = require('dns');
dns.lookup('non-existent server', function(e, a) {
console.log(e);
});
输出是:
bash-4.1$ node h.js
{ [Error: getaddrinfo ENOTFOUND non-existent server]
code: 'ENOTFOUND',
errno: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'non-existent server' }
bash-4.1$
问题确定步骤如下:
通过以下方式获取Bluemix调试控制台:
希望这有帮助。