我有一个非常有趣的问题。我有一个网站,我想获得客户端IP地址。我找到了一些解决方案,但没有一个能起作用。我正在使用nginx。
我正在使用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 :(得分:4)
如果您正在使用localhost,这是正常的尝试在服务器上记录此项,您将获得该用户的地址。
或者您可能在节点服务器前面运行nginx或类似的反向代理,在这种情况下,您应该设置正确的标头
对于nginx你需要这个
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
检查here了解更多信息