Linux nodejs rest service 只工作本地主机



我正在Linux上使用node 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);
});

我尝试将本地主机:8080 调用到 Linux 服务器中并且工作正常。如果我尝试通过外部 IP 调用具有此端口的服务器的 trhe IP,则快速服务器没有响应。对此有什么帮助吗?谢谢

app.listen() API 的第二个参数(设置为">127.0.0.1"(是主机名。 这将导致节点仅侦听与请求域中的主机名匹配的请求。

这是一个可选参数。

也许尝试 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(( 文档,以更好地了解参数默认行为。

请尝试此操作,以便您的应用程序侦听所有网络接口,而不仅仅是本地主机:

app.listen(port, "0.0.0.0", function(){
    console.log("Express server is listening on port ", port);
});

相关内容

最新更新