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 ...