HTTP请求中的X-Forwarded-For

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()方法来获取。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容