首頁  >  問答  >  主體

nginx - X-Forwarded-For 和 X-Real-IP 的差別?

X-Forwarded-For 和 X-Real-IP 的差別?

測試了下發現取得到的 IP 是一樣的。

伊谢尔伦伊谢尔伦2712 天前755

全部回覆(1)我來回復

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 17:28:04

    一般來說,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 ,而本次請求的來源IP1.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
    

    所以 ,如果只有一層代理,這兩個頭的值就是一樣的

    回覆
    0
  • 取消回覆