X-Forwarded-For 和 X-Real-Ip 的差異
最近因為抓 client 的IP遇到一些問題,又從重新回來研究這兩個東西,才發現我之前針對 X-Real-Ip
的理解是錯誤的 XD,所以只好寫一下這篇筆記一下。
我們先假設一個場景:
使用者(1.1.1.1) --> CDN (2.2.2.2) --> API Gateway (3.3.3.3) --> Service (4.4.4.4)
這時候我們在 API Gateway 這個地方做接收這兩個值,他應該分別為
X-Forwarded-For:
1.1.1.1, 2.2.2.2 (他會把IP 一層一層的傳下去)
X-Real-Ip:
2.2.2.2 ( 只接收到前一個節點的 IP)
如果我們在 API Gateway 這個地方想抓到使用者的IP (1.1.1.1),我們應該抓取 X-Forwarded-For 裡面的第一個值