Linux的nodejsrest服务只工作localhost
我正在开发一个REST API与节点js在Linux上。 这是我的第一个示例代码来尝试,如果一切正常工作:
'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调用服务器的IP与此端口的快递服务器没有响应。 有关于此的任何帮助? 谢谢
您设置为“ 127.0.0.1 ”的app.listen()
api的第二个参数是主机名。 这将导致节点只侦听请求域中匹配该主机名的请求。
这是一个可选参数。
也许试试api的app.listen(port, callback)
forms?
app.listen(port, function () { console.log("Express server is listening on port ", port); }); app.get('/', function (req, res) { res.send('Hello world!') });
或者,如果您不希望服务侦听每个主机名,则可以将[hostname]参数移动到configuration文件中。
请参阅server.listen()文档以更好地了解参数默认行为。
试试这个,让你的应用程序监听所有的networking接口,而不仅仅是localhost:
app.listen(port, "0.0.0.0", function(){ console.log("Express server is listening on port ", port); });