nginx中獲取真實的客戶端訪問IP

2022-04-18 23:54:03 字數 1093 閱讀 9816

date : 2019-06-28 16:54:50

author: headsen chen

notice: 個人原創

1,必需要先搞清楚的基本概念

1.1   什麼是remote_addr

remote_addr 是服務端根據請求tcp包的ip指定的。假設從client到server中間沒有任何**,那麼web伺服器(nginx,apache等)就會把client的ip設為ipremote_addr;如果存在****http請求,web伺服器會把最後一次**伺服器的ip設定為remote_addr。

沒有使用**伺服器的情況:

remote_addr = 您的 ip

http_via = 沒數值或不顯示

http_x_forwarded_for = 沒數值或不顯示

1.2   什麼是x_forwarded_for

當使用**時,web伺服器無法通過tcp資料報**獲得發起請求的client的真實ip,因此**伺服器通常會在http請求頭增加乙個叫做x_forwarded_for的字段,用來記錄請求發起者的真實ip。

使用透明**伺服器的情況:transparent proxies

remote_addr = 最後乙個**伺服器 ip

http_via = **伺服器 ip

http_x_forwarded_for = 您的真實 ip ,經過多個**伺服器時,這個值類似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。

這類**伺服器還是將您的資訊**給您的訪問物件,無法達到隱藏真實身份的目的。

2,怎樣配置nginx,使之獲取到真實的客戶端ip

呼叫這個配置:再server的裡面呼叫這個配置。

就可以了

Nginx之 獲取客戶端的真實IP

為了獲取客戶端的真實ip。該模組需要安裝read ip模組,運維應該預設有安裝。沒有的話也可自行安裝 配置方式相當簡單,重新編譯 nginx 加上 with http realip module 引數,如 make install在server中增加 set real ip from 192.168...

獲取客戶端真實ip

很多時候我們需要獲取客戶端的訪問ip,ip位址合法驗證 long sprintf u ip2long ip ip long array ip,long array 0.0.0.0 0 return ip type 一 如果沒有使用 伺服器,remote addr 客戶端iphttp x forwar...

獲取客戶端真實IP

server http x real ip nginx 模式下,獲取客戶端真實ip server http client ip 端的 有可能存在,可偽造 server http x forwarded for 使用者是在哪個ip使用的 有可能存在,也可以偽造 server http cdn src ...