如何获取边缘安全中访问者真实IP?
网站接入边缘安全后,边缘安全作为一个反向代理存在于客户端和服务器之间,服务器的真实IP被隐藏起来,Web访问者只能看到边缘安全的IP地址。
通常情况下,网站访问并不是简单地从用户的浏览器直达服务器,中间可能部署有CDN、EdgeSec、高防。例如,采用这样的架构:
。那么,在经过多层代理之后,服务器如何获取发起请求的真实客户端IP呢?一个透明的代理服务器在把用户的HTTP请求转到下一环节的服务器时,会在HTTP的头部中加入一条“X-Forwarded-For”记录,用来记录用户的真实IP,其形式为“X-Forwarded-For:访问者的真实IP,代理服务器1-IP, 代理服务器2-IP,代理服务器3-IP,……”。
因此,访问者的真实IP可以通过获取“X-Forwarded-For”对应的第一个IP来得到。