簡體   English   中英

在我的 node.js 項目中無法獲得客戶 ip 的正確信息

[英]Can't get the correct of a client ip in my node.js project

我試圖通過中間件獲取連接到我的節點服務器的客戶端的ip,但由於某種原因,我只獲取本地的ip。該項目托管在雲平台上,但我得到的只是127.0.0.1 . 無論我連接到它,還是我住在另一個國家的朋友。

代碼:

async function getUserIp(req, res, next) {
  console.log(req.socket.remoteAddress);
  next();
}

我不確定我的代碼中是否遺漏了什么,或者它是否是我使用的網絡酒店的環境本身,因此我只獲得本地 ip。

您的托管服務在節點應用程序和 Inte.net 之間有一個反向代理。

它與節點應用程序在同一台計算機上運行,這就是它的請求來自 127.0.0.1 的原因。

可能會在 HTTP 請求 header 中轉發原始 IP(例如X-Forwarded-For )。 請查閱您的托管服務的文檔以了解是否存在。 (或者部署一個記錄所有請求標頭的應用程序版本,以便您可以瀏覽它們)。

暫無
暫無

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

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