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;
};