刚开始使用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
?
答案 0 :(得分:0)
这是误导的代码。它试图找到第一个非环回IP,以明确地绑定到该IP用于传入流量。
您应该通过Heroku服务的特殊0.0.0.0
地址绑定到所有可用地址。如果您在Heroku路由器后面提供服务,您应该监听PORT
环境变量中指定的端口。