码迷,mamicode.com
首页 > 其他好文 > 详细

让nginx反向代理能够记录来自客户端的真实IP地址

时间:2015-04-29 10:15:05      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:虚拟主机   ip地址   客户端   记录   如何   

上一节,我们说到了让Nginx能够正确识别用户到底访问的是哪个虚拟主机的域名,本章,我们讨论一下,如何让Nginx能够记录来自客户端的真实IP地址。

1、首先,我们看一下httpd的访问日志,看看客户端的IP地址是哪一个?

192.168.1.6 - - [29/Apr/2015:07:51:07 +0800] "GET / HTTP/1.0" 200 13
192.168.1.6 - - [29/Apr/2015:07:51:07 +0800] "GET / HTTP/1.0" 200 13
192.168.1.6 - - [29/Apr/2015:07:51:08 +0800] "GET / HTTP/1.0" 200 13

2、很容易,我们看到这个客户端的IP地址,实际上反向代理Nginx服务器的IP地址,这给以后做apache的日志分析的时候,代理很大的问题,因此,要解决这个问题,必须在Nginx的配置文件中,增加如下的指令。

  proxy_set_header X-Forwarded-For  $remote_addr

  技术分享

3、默认httpd的日志选项不能接收来自客户端的真实IP地址,只接收nginx反向代理传过来的IP地址,需要开启接收功能

     技术分享

4、按照下面的格式调整,httpd的日志记录格式

      LogFormat "\"%{X-Forwarded-For}i\" %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

5、调整httpd的虚拟主机的日志格式

      CustomLog logs/bbs.g.cn-access_log combined

6、重启相关服务,使生效。

让nginx反向代理能够记录来自客户端的真实IP地址

标签:虚拟主机   ip地址   客户端   记录   如何   

原文地址:http://python8384.blog.51cto.com/1033099/1640150

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!