应用程序仅可在本地主机上运行, 但不能使用IP地址,另一个nodejs / express应用程序可正常运行?"/>
一个nodejs / express应用程序仅可在本地主机上运行, 但不能使用IP地址,另一个nodejs / express应用程序可正常运行?
我有一个非常简单的Hello World应用程序,必须通过myipaddress:3000
而不是仅通过localhost:3000
运行:
var express = require("express"),
app = express(),
bodyParser = require("body-parser"),
http = require("http");
app.use(bodyParser.urlencoded({ extended: true }));
app.get("/", function(req, res) {
res.render("home.ejs");
});
app.listen(3000, "0.0.0.0", function() {
console.log('Server running on port 3000');
});
但是我还有另一个涉及更多的node.js / express应用程序,该应用程序也使用mongoDB / mongoose,当我将app.listen
更改为包括"0.0.0.0"
时,它仍然只能在localhost:3000
上运行。我不确定是什么原因造成的,也许与mongoDB有关?这是我能想到的应用程序之间唯一真正的区别。我不会同时在端口3000上同时运行它们。我还使用其他端口测试了Hello World,但工作正常,但其他应用程序却没有。
有人知道这里还有什么问题吗?让我知道是否需要查看其他代码。
回答如下:据我所知,0.0.0.0
是作为主机从外部接口访问的。并且,如果您在调用app.listen()
时未指定主机,则服务器将在所有可用接口上运行。在0.0.0.0
上,但您可以像[]那样绑定IP地址
app.listen(3000, '127.0.0.1');
更多推荐
一个nodejs / express应用程序仅可在本地主机上运行, 但不能使用IP地址,另一个nodejs / express应用程序可正常运行?
发布评论