獲取真實的ip教程

2022-09-23 19:00:17 字數 599 閱讀 5026

場景一:無cdn情況

直接通過預設方法獲取 httpcontext.current.request.userhostaddress;

場景二:阿里雲cdn

當乙個七層**伺服器(如高防ip)把使用者的訪問請求轉到後端伺服器時,源站預設看到的是這個七層**伺服器(如高防ip)的回源ip。而真實的客戶端ip會被七層**伺服器放在http頭部的x-forwareded-for欄位,格式如下:x-forwarded-for: 使用者真實ip, 高防**ip。

如果中間經過不止乙個**伺服器(如經過了waf、cdn等等**伺服器),此時http頭部的x-forwarded-for欄位的格式如下:x-forwarded-for: 使用者真實ip, **伺服器1-ip, **伺服器2-ip, **伺服器3-ip, …。

經過多層**伺服器,請求使用者的真實ip處於第乙個位置,而後面包含所有經過的中間**伺服器的ip。因此,只要獲取http頭部的x-forwarded-for欄位的內容即可。

具體實現**截圖:

如果通過了cdn

場景三: 阿里雲cdn, a站點**b站點

從head 內容中可以看到多了乙個x-arr-log-id,b站點獲取ip的方法和場景二相同。

獲取真實IP

servlet request getheader x forwarded for 獲取真實ip request方法客戶端ip request.getremoteaddr 輸出 192.168.0.106 客戶端主機名 request.getremotehost 輸出 abc request.get...

獲取真實ip的方法

request方法客戶端ip request.getremoteaddr 輸出 192.168.0.106 客戶端主機名 request.getremotehost 輸出 abc request.getheader host 輸出 192.168.0.1 8080 web伺服器名字 request....

CDN獲取真實IP

現在很多 用了cdn技術,在做一些測試的時候,想獲取其伺服器真實ip位址就有點困難,不知道現在還有其他什麼好的方法呢,整理了下,目前知道如下兩種 1 拿cdn伺服器 找出真實ip cache peer 1.1.1.1 parent 80 0 no query originserver cache p...