Nodejs的IP地址结果:: 1
问题描述:
我有一个真正有趣的问题。我有一个网站,我想获得客户端IP地址。我发现了一些孤独但没有一个工作。我正在使用nginx。Nodejs的IP地址结果:: 1
我使用expressjs
app.post("/api/test",(req, res)=>{
console.log(req.header('x-forwarded-for')) // result "::1"
console.log(req.connection.remoteAddress) // result "::1"
console.log(req.ip) // result "::1"
})
我尝试哟使用3方freamwork但结果相同。
答
如果你正在使用本地主机,这是正常的尝试在服务器上记录这一点,你会得到用户的地址。
或者你可能在这种情况下运行在您的节点服务器的前面nginx的或类似的反向代理应该设置适当的头
为nginx的你需要这个的人
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
检查here更多信息
似乎是一些配置问题,':: 1'表示'localhost'。你使用某种代理机制?或者你的服务器在本地机器上运行? –