Express.js:如何获取IP地址并呈现视图?

4
我很认为这应该很简单。但是当我渲染jade模板时,我也想获取ip地址。我的代码如下。
app.js
app.get('/', index.home)

index.js

exports.home = function(req, res) {
    res.render('index');
};

我应该在哪里添加类似于以下内容:

var ip = req.header('x-forwarded-for') || req.connection.remoteAddress; //or
console.log(req.connection.remoteAddress);

你想将IP地址输出到控制台还是显示在视图中? - Jordonias
我现在想将它输出到控制台。最终,我可能会想要记录它并保存到数据库中。 - James Teague II
1个回答

7

只需使用req.ip,并确保在反向代理后部署应用时设置了app.enable('trust proxy');。Express已经为您内置了所有标头解析和代理逻辑。


如果我将req.ip放入我的index.js中,它会起作用吗?(请参见原始问题文件)。 - James Teague II
是的,在您可以访问req实例的任何范围内。 - Peter Lyons
非常顺利!谢谢你! - James Teague II
@PeterLyons,两年后您仍是老板。非常感谢!! - Chilipote

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接