X-Forwarded-For 和 RemoteAddress 你選擇那個(gè)優(yōu)先峻贮?

I. 對(duì)項(xiàng)目時(shí)發(fā)現(xiàn)一直是xff優(yōu)先于remote address垫竞,以前項(xiàng)目也是澎粟。

既然產(chǎn)品問到了哪個(gè)優(yōu)先就查了下。

最后果然是 RemoteAddress 優(yōu)先欢瞪,xff包含經(jīng)過的每一個(gè)代理的ip(除了最后一個(gè)捌议,remote address里就是最后一個(gè)).

II. https://imququ.com/post/x-forwarded-for-header-in-http.html

通過名字就知道,X-Forwarded-For 是一個(gè) HTTP 擴(kuò)展頭部引有。HTTP/1.1(RFC 2616)協(xié)議并沒有對(duì)它的定義,它最開始是由 Squid 這個(gè)緩存代理軟件引入倦逐,用來表示 HTTP 請(qǐng)求端真實(shí) IP譬正。如今它已經(jīng)成為事實(shí)上的標(biāo)準(zhǔn),被各大 HTTP 代理檬姥、負(fù)載均衡等轉(zhuǎn)發(fā)服務(wù)廣泛使用曾我,并被寫入RFC 7239(Forwarded HTTP Extension)標(biāo)準(zhǔn)之中。

X-Forwarded-For 請(qǐng)求頭格式非常簡(jiǎn)單健民,就這樣:

X-Forwarded-For: client, proxy1, proxy2

可以看到抒巢,XFF 的內(nèi)容由「英文逗號(hào) + 空格」隔開的多個(gè)部分組成,最開始的是離服務(wù)端最遠(yuǎn)的設(shè)備 IP秉犹,然后是每一級(jí)代理設(shè)備的 IP蛉谜。

如果一個(gè) HTTP 請(qǐng)求到達(dá)服務(wù)器之前,經(jīng)過了三個(gè)代理 Proxy1崇堵、Proxy2型诚、Proxy3,IP 分別為 IP1鸳劳、IP2狰贯、IP3,用戶真實(shí) IP 為 IP0,那么按照 XFF 標(biāo)準(zhǔn)涵紊,服務(wù)端最終會(huì)收到以下信息:

X-Forwarded-For: IP0, IP1, IP2

Proxy3 直連服務(wù)器傍妒,它會(huì)給 XFF 追加 IP2,表示它是在幫 Proxy2 轉(zhuǎn)發(fā)請(qǐng)求摸柄。列表中并沒有 IP3颤练,IP3

可以在服務(wù)端通過 Remote Address 字段獲得。我們知道 HTTP 連接基于 TCP 連接塘幅,HTTP 協(xié)議中沒有 IP

的概念昔案,Remote Address 來自 TCP 連接,表示與服務(wù)端建立 TCP 連接的設(shè)備 IP电媳,在這個(gè)例子里就是 IP3踏揣。

Remote Address 無法偽造,因?yàn)榻?TCP 連接需要三次握手匾乓,如果偽造了源 IP捞稿,無法建立 TCP 連接,更不會(huì)有后面的 HTTP 請(qǐng)求拼缝。不同語(yǔ)言獲取 Remote Address 的方式不一樣娱局,例如 php 是$_SERVER["REMOTE_ADDR"],Node.js 是req.connection.remoteAddress咧七,但原理都一樣衰齐。

2017-04-20 補(bǔ)充 :

項(xiàng)目實(shí)測(cè)的時(shí)候才發(fā)現(xiàn)轉(zhuǎn)發(fā)的ip全都是nginx服務(wù)器的ip。然后趕緊查nginx的配置继阻。奇怪啊耻涛,已經(jīng)配置了轉(zhuǎn)發(fā)請(qǐng)求的時(shí)候自動(dòng)添加xff的啊,為何沒有把客戶端的真實(shí)ip獲取到呢瘟檩?

最后看項(xiàng)目發(fā)現(xiàn)抹缕,之前覺得remote address的準(zhǔn)確性高于xff,項(xiàng)目里面直接使用了remote address而沒有用xff和nginx轉(zhuǎn)發(fā)加上的x-real-ip墨辛。

趕緊修改項(xiàng)目使用xff優(yōu)先卓研,這才減少了廣告業(yè)務(wù)對(duì)ip問題的依賴導(dǎo)致的損失。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末睹簇,一起剝皮案震驚了整個(gè)濱河市奏赘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌太惠,老刑警劉巖志珍,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異垛叨,居然都是意外死亡伦糯,警方通過查閱死者的電腦和手機(jī)柜某,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來敛纲,“玉大人喂击,你說我怎么就攤上這事∮傧瑁” “怎么了翰绊?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)旁壮。 經(jīng)常有香客問我监嗜,道長(zhǎng),這世上最難降的妖魔是什么抡谐? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任裁奇,我火速辦了婚禮,結(jié)果婚禮上麦撵,老公的妹妹穿的比我還像新娘刽肠。我一直安慰自己,他們只是感情好免胃,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布音五。 她就那樣靜靜地躺著,像睡著了一般羔沙。 火紅的嫁衣襯著肌膚如雪躺涝。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天扼雏,我揣著相機(jī)與錄音坚嗜,去河邊找鬼。 笑死呢蛤,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的棍郎。 我是一名探鬼主播其障,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼涂佃!你這毒婦竟也來了励翼?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤辜荠,失蹤者是張志新(化名)和其女友劉穎汽抚,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體伯病,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡造烁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片惭蟋。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡苗桂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出告组,到底是詐尸還是另有隱情煤伟,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布木缝,位于F島的核電站便锨,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏我碟。R本人自食惡果不足惜放案,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望怎囚。 院中可真熱鬧卿叽,春花似錦、人聲如沸恳守。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)催烘。三九已至沥阱,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間伊群,已是汗流浹背考杉。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留舰始,地道東北人崇棠。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像丸卷,于是被迫代替她去往敵國(guó)和親枕稀。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 原創(chuàng)文章出自公眾號(hào):「碼農(nóng)富哥」谜嫉,如需轉(zhuǎn)載請(qǐng)請(qǐng)注明出處萎坷!文章如果對(duì)你有收獲,可以收藏轉(zhuǎn)發(fā)沐兰,這會(huì)給我一個(gè)大大鼓勵(lì)喲哆档!...
    大富帥閱讀 153,971評(píng)論 5 28
  • 在正常的TCP/IP 通信中,是可以偽造數(shù)據(jù)包來源 IP 的住闯,但這會(huì)讓發(fā)送出去的數(shù)據(jù)包返回到偽造的IP上瓜浸,無法實(shí)現(xiàn)...
    sxtra閱讀 49,003評(píng)論 4 12
  • 極簡(jiǎn)主義的風(fēng)格最近幾年才流行起來澳淑,為什么這種風(fēng)格會(huì)被人們追捧。在之前的幾年為什么就沒有火起來呢斟叼∨蓟荩看各種設(shè)計(jì)師的作品...
    一個(gè)景天閱讀 533評(píng)論 0 2
  • 根據(jù)多家外媒消息忽孽,出身沙特阿拉伯的美國(guó)《華盛頓郵報(bào)》特約記者卡舒吉在10月2日進(jìn)入沙特駐土耳其大使館之后慘遭活體肢...
    一葉茶閱讀 850評(píng)論 0 1
  • 當(dāng)一桌高檔飯菜擺好之后,孩子樂了谢床,奶奶哭了兄一,媽媽憂慮了,新來的兒媳婦疑惑了:這家人怎么了识腿?
    小土窯主人閱讀 284評(píng)論 1 2