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但结果相同。

+0

似乎是一些配置问题,':: 1'表示'localhost'。你使用某种代理机制?或者你的服务器在本地机器上运行? –

如果你正在使用本地主机,这是正常的尝试在服务器上记录这一点,你会得到用户的地址。

或者你可能在这种情况下运行在您的节点服务器的前面nginx的或类似的反向代理应该设置适当的头

为nginx的你需要这个的人

proxy_set_header  X-Real-IP  $remote_addr; 
proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for; 

检查here更多信息