2017-09-19 238 views
1

如何從node.js獲取IP地址我嘗試了很多方法,但它不起作用並返回:: ffff:127.0.0.1請給我一些建議如何獲取node.js中的IP地址

這是我的代碼:

app.put('/update-user-info', function(req, res){ 
    // it's doesn't work and return ::ffff:127.0.0.1 
    var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress || req.socket.remoteAddress || req.connection.socket.remoteAddress; 
}); 
+0

使用'req.ip'。如果你在一個proxi後面看看:http://expressjs.com/en/guide/behind-proxies.html –

回答

2

你有沒有嘗試req.ip

req.ip

包含REM請求請求的IP地址。

如果信任代理設置未計算爲false,則值爲 此屬性源自 X-Forwarded-For標頭中最左邊的條目。該頭可以由客戶端或 代理設置。

的req.ip和req.ips值與地址從X - 轉發,對於

列表填充見Express 4.x API (About req.ip)

如果您正在使用代理服務器的工作,它需要特殊的應用程序設置所謂trust_proxy(默認爲false)

注意:X-Forwarded- *頭很容易被欺騙和檢測到的IP地址是不可靠的。

瞭解更多信息