Rozważmy następujący kod dla serwera węzłów API odpoczynku.Jak uzyskać dokładny adres IP Restify server na listen?
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);
});
Running Up That serwer z węzła:
$ node echo.js
restify listening at http://0.0.0.0:8080
To pokazuje 0.0.0.0
co jest źle.
Czy ktokolwiek, kto jest konsolą, może logować dokładny adres IP serwera, gdy jest włączony?
Dzięki
Aktualizuj: Na wykonywania następujący kod jestem coraz niżej wymienionych wyjścia, czyli znowu utrudnia, które IP wybrał?
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);
});
wyjściowa:
{ '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
W tym przypadku należy wybrać '192.168.3.60' ponieważ nie jest wewnętrzna * i * IPv4. – robertklep