默认apache记录的是nginx代理服务器的IP,并不是真实客户端的IP。怎样让其显示真正的客户端ip呢?
修改nginx配置文件,确保有这一行:proxy_set_header X-Real-IP $remote_addr;
修改完配置文件后,重新加载配置文件(可以不用重启nginx):/usr/local/nginx/sbin/nginx-s reload
修改httpd配置文件
vim /etc/httpd/conf/httpd.conf
注,大家可以这里记录日志的参数还是%h,下面我们修改一下参数。
注,这是修改后的参数,将h%修改为%{X-Real-IP}i,好的下面我们再来测试一下。
重启并测试
service httpd restart
tail -f /var/log/httpd/access_log
看到来自客户端IP的访问。
10.192.203.6 - - [27/Jul/2016:12:41:28+0800] "GET /info.PHP?=PHPE9568F34-D428-11d2-A769-00AA001ACF42HTTP/1.0" 304 - "http://10.192.203.106/info.php""Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.3; WOW64; Trident/7.0;.NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729;Tablet PC 2.0)"
--本篇文章参考自: http://www.360doc.com/content/13/1114/12/7694408_329125489.shtml