我正在 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);
});
我已经尝试将 localhost:8080 调用到 linux 服务器并且工作正常。 如果我尝试通过外部 IP 使用此端口调用服务器的 trhe IP,则 express 服务器没有响应。 有什么帮助吗? 谢谢
最佳答案
app.listen()
的第二个参数 api ,您设置为“127.0.0.1”的是主机名。这将导致 Node 仅监听来自请求域的与该主机名匹配的请求。
这是一个可选参数。
也许可以尝试 app.listen(port, callback)
形式的 api?
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()更好地了解参数默认行为的文档。
关于node.js - Linux nodejs 休息服务只工作本地主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43015803/