nginx配置中, 如果需要转发 可以加上proxy_set_header, 请求头
location /node {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; //原请求来源ip 真实ip最可信
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; //http客户端或者反向代理生成的ip 可以通过逗号连起来, ip1,ip2,ip3...
#proxy_buffering off;
proxy_request_buffering off;
proxy_pass http://node;
}
在nodejs中可以通过下面函数 获取ip
var get_ip = function(req) {
var ip = req.headers['x-real-ip'] ||
req.headers['x-forwarded-for'] ||
req.socket.remoteAddress || '';
if(ip.split(',').length>0){
ip = ip.split(',')[0];
}
return ip;
};