簡體   English   中英

如何在node.js express中獲取IP地址

[英]How to get IP address in node.js express

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

這是我的代碼:

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

你嘗試req.ip

req.ip

包含請求的遠程IP地址。

當信任代理設置的評估結果不為false時,此屬性的值將從X-Forwarded-For標頭中最左邊的條目派生。 此標頭可以由客戶端或代理設置。

用來自X-Forwarded-For的地址列表填充req.ip和req.ips值

請參閱Express 4.x API(關於req.ip)

如果您使用的是代理,則需要特殊的應用程序設置,稱為trust_proxy (默認為false)

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

有關更多信息,請參見“信任代理”設置的選項在代理后進行表達

正如GuroKing所說,我將再增加一點。

- Add app.set('trust proxy', true)

在nginx.conf文件中:

proxy_set_header  X-Real-IP  $remote_addr;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM