Heroku获取IP地址

时间:2014-01-27 19:19:37

标签: javascript node.js sockets heroku ip-address

刚开始使用Heroku,我正在尝试在那里部署别人的节点应用程序。要启动服务器,我会进入node server.js,这样可行。然后显示relevant IPs { '[MY IP ADDRESS]': null }

我部署到Heroku,服务器正在运行,但它会显示relevant IPs { dummy: null }。我搜索了代码以找出dummy的含义。这是我发现的:

// find all ip addresses
// We use a dummy for a special case where node can't list network interfaces (freeBSD)

var sockets = {'dummy': null};
for (var name in interfaces) {
console.log('discovering all IPs from', name);
interfaces[name].forEach(function (ipInfo) {
  if (ipInfo.internal == false && ipInfo.family == "IPv4") {
    // this one is interesting, use it
    delete sockets['dummy'];
    sockets[ipInfo.address] = null;
  }
});
}

console.log("relevant IPs", sockets);

所以,我的问题是,Heroku可以找到一个IP地址,如果是的话,为什么会提出dummy

1 个答案:

答案 0 :(得分:0)

这是误导的代码。它试图找到第一个非环回IP,以明确地绑定到该IP用于传入流量。

您应该通过Heroku服务的特殊0.0.0.0地址绑定到所有可用地址。如果您在Heroku路由器后面提供服务,您应该监听PORT环境变量中指定的端口。