怎样配置让apache访问日志记录真实客户端IP,而不是nginx代理服务器IP
2016-07-27 13:49
716 查看
默认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
修改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
相关文章推荐
- php7 nginx 配置
- NGINX 进程通信机制
- 解决nginx负载均衡的session共享问题
- Nginx负载均衡的4种方案配置实例
- 分布式架构高可用架构篇_04_Keepalived+Nginx实现高可用Web负载均衡
- 通过Nginx部署Django
- logrotete分割nginx日志
- Nginx+Keepalived实现站点高可用
- 简单编译安装NGINX
- NGINX与APACHE工作模式的区别
- CentOs环境下安装Nginx
- nginx+keepalive实现高可用负载均衡
- nginx用户认证
- Nginx入门指导
- 编译安装nginx1.9.7+php7.0.0服务器环境
- nginx常见内部错误
- 解决nginx不支持pathinfo Thinkphp命名空间问题
- Mac下安装LNMP(Nginx+PHP5.6)环境
- Win7下配置PHP+Nginx
- zabbix监控nginx status