gpt4 book ai didi

node.js - Bluemix NodeJS ENOTFOUND

转载 作者:太空宇宙 更新时间:2023-11-03 23:32:04 25 4
gpt4 key购买 nike

我有一个与服务器通信的 bluemix Node js 应用程序。我有测试和生产环境。在开发环境中,我们与测试服务器通信,我收到一个 Node js 错误。

当我将服务器 URL 更改为生产服务器时,一切正常。

当我在本地主机上运行应用程序并连接到测试服务器时,一切都正常。

所以我的问题仅出现在与我公司测试服务器通信的bluemix环境上。错误是:

{
"code": "ENOTFOUND",
"errno": "ENOTFOUND",
"syscall": "getaddrinfo",
"hostname": "www.xxxxxxxxx.cz"
}

错误的主机名被屏蔽。

最佳答案

从异常来看,我认为失败的代码正在执行 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$

问题确定步骤是:

  1. 从具有出站访问权限的计算机 ping 您的目标服务器 - 以确保该服务器存在。如果没有,请解决该问题。
  2. 登录到 bluemix 调试控制台
  3. ping 您的目标服务器。如果它没有响应,则说明 bluemix 和目标之间有一堵墙。如果有响应,请尝试此测试用例。如果这也有效,我们将需要进一步调试,我可以提供进一步的帮助。

Bluemix 调试控制台通过以下方式获取:

  1. 导出值为“shell”的环境变量“BLUEMIX_APP_MGMT_ENABLE”
  2. 重新部署应用。
  3. 在浏览器中登录 Web shell https://your-app-url/bluemix-debug/shell/使用您的 Bluemix 用户凭据

希望这有帮助。

关于node.js - Bluemix NodeJS ENOTFOUND,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36873200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com