最近更新时间:2023-05-16 19:45:15
使用高防IP后,网站服务器访问日志中的IP地址都将记录为高防的IP地址,无法取得客户端的真实IP地址。
在高防IP转发的HTTP头信息中增加 header头信息,这时web服务器的日志就可以记录远程客户端的真实IP。
Nginx格式如下:
'$http_x_forwarded_for - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer"' '"$http_user_agent" ';
Apache格式如下:
LogFormat "%{X-FORWARDED_FOR}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""
—— ASP
Request.ServerVariables("X_FORWARDED_FOR")
——PHP
$_SERVER["HTTP_X_FORWARDED_FOR"]
——JSP
request.getHeader("X_FORWARDED_FOR")
以下方法支持操作系统为 CentOS 或 Fedora 的源站服务器获取真实访问IP,其他操作系统请联系技术支持确认
1.uname -r 查看主机内核版本
2.下载内核对应的rpm包
第一步,查看系统内核版本
例如内核版本为3.10.0-957.1.3.el7.x86_64
# uname -r
# 3.10.0-957.1.3.el7.x86_64
第二步,下载对应的内核RPM包
下载centosrpm包,从中找到对应内核版本的RPM
如未找到可从centos官方获取 https://wiki.centos.org/HowTos/I_need_the_Kernel_Source
# rpm -ivh kernel-devel-3.10.0-327.el7.x86_64.rpm
第三步,安装依赖环境
# sudo yum install rpm-build redhat-rpm-config asciidoc hmaccalc perl-ExtUtils-Embed pesign xmlto
$ sudo yum install audit-libs-devel binutils-devel elfutils-devel elfutils-libelf-devel gcc
$ sudo yum install ncurses-devel newt-devel numactl-devel pciutils-devel python-devel zlib-devel
第四步,编译&安装TTM模块
# unzip centos-kgwttm_v4.zip
# cd kgwttm
# ./build.sh
# rpm -ivh *.rpm
# sh /usr/local/bin/kgwttm-insmod.sh
# lsmod |grep kgwttm
纯净模式