Nodejs服务器主机名

时间:2012-09-24 09:18:07

标签: http node.js express

好的,所以在Node.js中看起来很容易获得对我的服务器发出请求的主机名:

app.get('/', function(req,res){
    console.log(req.headers.host);
});

有没有简单的方法来确定我的实际http服务器的主机名?例如,我的服务器在地址http://localhost:3000运行 - 我可以以编程方式确定此地址吗?我正在使用expressjs。

2 个答案:

答案 0 :(得分:17)

是的,你可以使用;

var express = require('express'),
    app = express(),
    server  = require('http').createServer(app);

server.listen(3000, function(err) {
        console.log(err, server.address());
});

应该打印

{ address: '0.0.0.0', family: 'IPv4', port: 3000 }

您还可以通过以下方式检索操作系统的主机名;

require('os').hostname();

答案 1 :(得分:-2)

0.0.0.0表示它正在侦听主机上可用的所有网络接口(IP地址)。