X-Forwarded-For 和 X-Real-IP 的區別?
做動靜分離的時候這裡有疑問所以請教度娘
網上摘得,覺得比較有用就記下了
一般來說,X-Forwarded-For
是用於記錄代理資訊的,每經過一級代理(匿名代理除外),代理伺服器都會把這次請求的來源IP
追加在X-Forwarded-For
中
來自4.4.4.4
的一個請求,header包含這樣一行
X-Forwarded-For: 1.1.1.1, 2.2.2.2, 3.3.3.3
代表 請求由1.1.1.1
發出,經過三層代理,第一層是2.2.2.2
,第二層是3.3.3.3
,而本次請求的來源IP4.4.4.4
是第三層代理
而X-Real-IP
,沒有相關標準,上面的例子,如果配置了X-Read-IP
,可能會有兩種情況
// 最後一跳是正向代理,可能會保留真實客戶端IP
X-Real-IP: 1.1.1.1
// 最後一跳是反向代理,比如Nginx,一般會是與之直接連線的客戶端IP
X-Real-IP: 3.3.3.3
所以 ,如果只有一層代理,這兩個頭的值就是一樣的
相關文章
- ../和./和/的區別
- 和 的區別
- as 和 with的區別
- ||和??的區別
- /*和/**的區別
- LinkedList和ArrayList的區別、Vector和ArrayList的區別
- http和https的區別/get和post的區別HTTP
- ./ 和sh 的區別
- JQuery this和$(this)的區別jQuery
- jquery $(this) 和this的區別jQuery
- T和?的區別
- ++a和a++的區別
- makefile =和:=的區別
- Mybatis中#{}和${}傳參的區別及#和$的區別小結MyBatis
- 和區別
- MYSQL和SQL的區別MySql
- varchar和char的區別
- &self 和 self 的區別
- var和public的區別
- filter和interceptor的區別Filter
- useEffect 和 useLayoutEffect 的區別
- SDK和API的區別?API
- var 和 let 的區別
- WebApi和MVC的區別WebAPIMVC
- service和systemctl的區別
- GET和POST的區別?
- GET和POST的區別
- button和submit的區別MIT
- GET 和 POST 的區別
- 【Java】equals 和 == 的區別Java
- django和flask的區別DjangoFlask
- promise 和 Observable 的區別Promise
- sass和less的區別
- POST 和 GET 的區別
- cookie和session的區別CookieSession
- MTV和MVC的區別MVC
- mysql中!=和is not的區別MySql
- import和require的區別ImportUI
按照HTTP 請求頭中的 X-Forwarded-For這篇文章的例子,如果在Nginx的反向代理中新增了配置“proxy_set_header X-Real-IP $remote_addr”,X-Real-IP的值為”3.3.3.3“