簡體   English   中英

如何在 Node JS Express JS 中獲取真實用戶 IP 或遠程 IP 地址

[英]How to get Real user IP or Remote IP address in Node JS Express JS

我想問一下,我現在有一個使用expressjs的應用程序我被要求顯示訪問該應用程序的用戶的ip,但它始終顯示服務器的ip,它想要顯示訪問應用程序的用戶的Z957B527BCFBAD2E80F58D2063或310F58D2063筆記本電腦訪問應用程序也許有人可以幫助我提前謝謝

If you are getting 127.0.0.1 it means you are running express behind a web server, perhaps Apache or Nginx or IIS. 如果是這樣,您需要了解您的用戶不會連接到您的快速應用程序。 相反,您的 web 服務器連接到您的快速應用程序,因此客戶端(Web 服務器的)ip 地址是 127.0.0.1 是正確的。

您無法單獨在 express 中解決此問題,因為在這種情況下 express 與您的用戶計算機沒有直接連接。 你需要配置你的web服務器轉發客戶端的IP地址來快遞。 如何執行此操作取決於您的 web 服務器。 顯然Apache、Nginx、IIS、Lighttpd等都有不同的配置格式。

最常見的方法是配置您的 web 服務器以設置X-Forwarded-For header。 然后在快遞中,您需要閱讀req中的x-forwarded-for header 。

谷歌您的 web 服務器的名稱和“x-forwarded-for”,了解如何配置您的服務器來執行此操作。

也許這個 package 可以幫助你https://www.npmjs.com/package/ext-ip

let extIP = require("ext-ip")();


extIP.get().then(ip => {
    console.log(ip);
}, err => {
    console.error(err);
});

暫無
暫無

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

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