轉發用戶 isp 而不是我呼叫的伺服器

轉發用戶 isp 而不是我呼叫的伺服器

我正在將 Node Express 伺服器與 axios 一起使用,並請求後端的 api 呼叫來代理請求,但我想發送用戶詳細資訊而不是伺服器。

例如:

我的網站 -> 使用者點擊圖片 -> get 被呼叫到我的伺服器 A -> 伺服器呼叫另一個伺服器 B 來檢索資料。

現在B伺服器將看到A的伺服器訊息,如ip、geo、isp等。

答案1

嗯,首先要理解的是,您所指的“geo”和“isp”等許多資訊都源自 IP 位址本身;所以你想做的就是轉發它。

您沒有提供有關您的設置的大量信息,但我提供了兩種可能的設置。

1. 反向代理

伺服器 A 是反向代理,它使用以下方式將所有請求代理到伺服器 B nginx- 如果是這種情況,那麼我們將使用Forwarded header描述得很好的方法這裡

範例程式碼片段:

  location / {
    proxy_set_header  Host $host;
    proxy_set_header  X-Real-IP $remote_addr;
    proxy_set_header  X-Forwarded-Proto https;
    proxy_set_header  X-Forwarded-For $remote_addr;
    proxy_set_header  X-Forwarded-Host $remote_addr;
    proxy_pass        http://server_b;
  }

2、應用層 伺服器 A 託管一個網站(或其他應用程式),該網站在後端向伺服器 B 發送請求。

在這種情況下,在不知道應用程式的確切工作原理的情況下,我建議您以某種方式將訪客 IP 包含在請求負載中。

基本範例,如果您在伺服器 A 上使用 PHP(且此表單在傳遞到伺服器 B 之前已提交至伺服器 A): <input type="hidden" id="visitorIP" name="visitorIP" value="<?php $_SERVER['REMOTE_ADDR']?>">

相關內容