如何在侦听时获取Restify服务器的确切IP地址?

Amo*_*rni 5 node.js restify

请考虑以下用于其余API节点服务器的代码.

var restify = require('restify');

var server = restify.createServer();

server.get('/echo/:name', function (req, res, next) {
  res.send({name: req.params.name});
  next();
});

server.listen(8080, function () {
  console.log('%s listening at %s', server.name, server.url);
});
Run Code Online (Sandbox Code Playgroud)

使用节点运行该服务器:

$ node echo.js
restify listening at http://0.0.0.0:8080
Run Code Online (Sandbox Code Playgroud)

它显示0.0.0.0哪个是错的.

任何人都可以在开启时如何控制台登录服务器的确切IP?

谢谢


更新:在执行下面的代码时,我得到了下面提到的输出,这再次变得困难,选择哪个IP?

    rest_server.listen(config.appPort, function () {
      var adrs = require('os').networkInterfaces();
          console.log(adrs);
          console.log('%s listening at %s', rest_server.name, rest_server.url);
    });
Run Code Online (Sandbox Code Playgroud)

输出:

{ 'Local Area Connection': [ { address: '192.168.3.60', family: 'IPv4', internal
: false } ],
  'Loopback Pseudo-Interface 1':
   [ { address: '::1', family: 'IPv6', internal: true },
     { address: '127.0.0.1', family: 'IPv4', internal: true } ],
  'isatap.TEST.ORG':
   [ { address: 'fe80::5efe:c0a8:33c',
       family: 'IPv6',
       internal: false } ] }
restify listening at http://0.0.0.0:8080
Run Code Online (Sandbox Code Playgroud)

Mah*_*ram 5

有相同的问题并找出问题,基本上你可以传递另一个参数到.listen()函数,这应该是你的服务器IP地址

server.listen(port, [host], [backlog], [callback])


server.listen(port, YOUR IP ADDRESS, function(){ });
Run Code Online (Sandbox Code Playgroud)

为了获得您的服务器IP地址,请在终端中执行"traceroute www.WEBSITE_URL.com".

如果您还有问题,请告诉我.

谢谢马赫迪