确定Node.js应用程序中的请求是否是本地的

我正在学习Node.js 在创build一个网站时,我会在本地运行网站(在localhost )。 部署后,将在其他服务器上运行。 我的问题是,如何确定请求是从本地还是不在节点? 在ASP.NET中,我可以使用Request.IsLocal 。 我试图找出如何在Node中做到这一点。

谢谢!

server.address()来获取服务器地址。

并且request具有connectionsocket对象,因为两者都可能保存远程地址(在remoteAddress属性中),具体取决于当前连接的types。

但是如果服务器位于反向代理之后,则必须将其从适当的头部拉出,最有可能是x-forwarded-for 。 但是,我不确定如果代理被链接,这是否成立。

所以,总结一下,你会做一些事情:

 function cliAddress(req) { return req.connection.remoteAddress || req.socket.remoteAddress || req.headers['x-forwarded-for']; } server.isLocal = function(request) { return server.address() === cliAddress(req); } 

如果你使用express.js …