一般來說,網站訪問并不是簡單地從用戶的瀏覽器直達
服務器,中間可能部署有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個
