![](/img/trans.png)
[英]Why can't I get the connecting client's ip address on my server running Node.js + Websocket hosted by Openshift (Using WebSocket-Node)
[英]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.