更新时间:2023-04-20 GMT+08:00

如何获取访问者真实IP?

网站接入WAF后,WAF作为一个反向代理存在于客户端和服务器之间,服务器的真实IP被隐藏起来,Web访问者只能看到WAF的IP地址。

通常情况下,网站访问并不是简单地从用户的浏览器直达服务器,中间可能部署有CDN、WAF、高防。例如,采用这样的架构:用户 > CDN/WAF/高防 > 源站服务器 。那么,在经过多层代理之后,服务器如何获取发起请求的真实客户端IP呢?

一个透明的代理服务器在把用户的HTTP请求转到下一环节的服务器时,会在HTTP的头部中加入一条“X-Forwarded-For”记录,用来记录用户的真实IP,其形式为“X-Forwarded-For:访问者的真实IP,代理服务器1-IP, 代理服务器2-IP,代理服务器3-IP,……”

因此,访问者的真实IP可以通过获取“X-Forwarded-For”对应的第一个IP来得到。