一般来说,网站访问并不是简单地从用户的浏览器直达
服务器,中间可能部署有CDN、WAF、高防,比如采用这样的架构:“用户 > CDN/WAF/高防 > 源站
服务器”。在经过多层代理之后,可通过以下方式来获取发起请求的真实客户端IP。
1、WAF直接获取
WAF默认提供获取客户端真实IP的功能,可通过WAF服务使用X-Forwarded-For的方式获取客户端的真实IP地址;或者通过WAF服务支持使用X-Real-IP变量,从而获取客户的来源IP,使用过程中需要考虑后面经过的多层反向代理对该变量的修改。
2、IIS 6在访问日志中获取
如果源站部署了IIS 6服务器,可通过安装“F5XForwardedFor.dll”插件,从IIS 6服务器记录的访问日志中获取访问者真实的IP地址。
3、IIS 7在访问日志中获取
如果源站部署了IIS 7服务器,可通过安装“F5XForwardedFor”模块,从IIS 7服务器记录的访问日志中获取访问者真实的IP地址。
4、Apache在访问日志中获取
如果源站部署了Apache服务器,可通过运行命令安装Apache的第三方模块mod_rpaf,并修改http.conf文件获取客户IP地址。
5、Nginx在访问日志中获取
如果源站部署了Nginx反向代理,可通过在Nginx反向代理配置Location信息,后端Web服务器即可通过类似函数获取客户的真实IP地址。
6、Tomcat在访问日志中获取
如果源站部署了Tomcat服务器,可通过启用Tomcat的X-Forwarded-For功能,获取访问者的真实IP地址。
CPU:E5-2650LV2
内存:16GB
硬盘:1TB SATA
带宽:20M CIA
IP:3个