我正在使用linux上的节点js开发REST API。 这是我的第一个示例代码,如果一切正常可以尝试:
'use strict';
var express = require("express");
var app = express();
var port = process.env.PORT || 8080 ;
app.listen(port, "127.0.0.1", function(){
console.log("Express server is listening on port ", port);
});
我试着将localhost:8080调用到linux服务器并且运行正常。 如果我尝试通过外部IP呼叫服务器的IP与此端口,快递服务器没有响应。 对此有何帮助? 感谢
答案 0 :(得分:1)
尝试此操作,以便您的应用程序侦听所有网络接口,而不仅仅是localhost:
app.listen(port, "0.0.0.0", function(){
console.log("Express server is listening on port ", port);
});
答案 1 :(得分:1)
您设置为“ 127.0.0.1 ”的app.listen()
api的第二个参数是主机名。这将导致节点仅侦听与请求域中的主机名匹配的请求。
这是一个可选参数。
也许尝试api的app.listen(port, callback)
形式?
app.listen(port, function () {
console.log("Express server is listening on port ", port);
});
app.get('/', function (req, res) {
res.send('Hello world!')
});
如果您不希望服务收听每个主机名,您可以将[hostname]参数移动到配置文件。
有关参数默认行为的详细信息,请参阅server.listen()文档。