node如何获取访问者的ip地址。。
req.connection.remoteAddress获取到的都是127.0.0.1
var getIp=function(){
var os=require('os'),
ipStr,
infaces=os.networkInterfaces(),
bool=false;
for(var i in infaces){
infaces[i].some(function(x){
if((x.family=='IPv4')&&(x.internal == false)){
ipStr=x.address;
bool=true;
return true
}
})
if(bool){break}
}
return ipStr
}
console.log(getIp())
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答830 阅读✓ 已解决
2 回答2k 阅读✓ 已解决
5 回答2.3k 阅读
别看用os获取的,那是获取自己的ip,而不是获取客户的ip;
1、如果是走的代理,需要在代理的地方设置带ip的请求头,一般是x-forward-ip,然后req.headers['x-forward-ip']来获取;
2、没有代理就是你那个获取方式
我之前也碰到这个问题:https://famanoder.com:8800/bo...