美文网首页
HTTP请求中的X-Forwarded-For

HTTP请求中的X-Forwarded-For

作者: HelloArmin | 来源:发表于2017-02-27 11:22 被阅读277次

X-Forwarded-For(XFF) 是一个 HTTP 扩展header字段,用于标记发起HTTP请求的客户端的真实来源IP。

X-Forwarded-For 请求头格式:

X-Forwarded-For: client, proxy1, proxy2

X-Forwarded-For的内容由逗号+空格来进行分隔。从最远的设备IP开始,依次追加。

例如:当一个客户端(IP0)请求经过proxy1(IP1), proxy2(IP2) 到达目标服务器的时候,XFF为

X-Forwarded-For: IP0, IP1

X-Forwarded-For值列表里并没有IP2, proxy2 接受到请求的时候,它会为XFF追加IP1。而IP2的地址,可以在服务端通过API request.getRemoteAddr()来获得, getRemoteAddr()会从底层的TCP连接里获取到与服务端建立TCP连接的设备 IP。

因此, 当我们需要获取发起请求的用户IP的时候,需要考虑到在请求的链路中存在代理和负载均衡的情况,不能单纯使用getRemoteAddre()方法来获取。

相关文章

网友评论

      本文标题:HTTP请求中的X-Forwarded-For

      本文链接:https://www.haomeiwen.com/subject/iskzwttx.html