因爲涉及兼容性問題,可以通過req.header('x-forwarded-for')與req.connection.remoteAddress來獲取IP地址,下面是封裝好的一個函數:
function getClientIp(req) {
var ipAddress;
var forwardedIpsStr = req.header('x-forwarded-for');
if (forwardedIpsStr) {
var forwardedIps = forwardedIpsStr.split(',');
ipAddress = forwardedIps[0];
}
if (!ipAddress) {
ipAddress = req.connection.remoteAddress;
}
return ipAddress;
};