apache日志中没有IP地址

时间:2014-09-04 05:57:17

标签: linux apache logging centos

我在CentOS 6.5服务器上运行了一个apache服务器。在日志文件中,25%的记录是这样的

000.000.000.000 - - [24/Jul/2014:04:15:10 +0000] "GET /address/of/the/page.html HTTP/1.1" 200 20341 "-" "Mozilla/4.0 

但其余75%的日志都是这样的,没有IP

- - [24/Jul/2014:04:15:10 +0000] "GET /address/of/the/page.html HTTP/1.1" 200 20341 "-" "Mozilla/4.0

有人可以告诉我这是什么问题吗? 谢谢!

2 个答案:

答案 0 :(得分:0)

默认情况下,Apache在访问日志中打印REMOTE_ADDR标头值,在某些情况下,您的环境中的值可能为空。您可以尝试在访问日志中打印X-Forwarded-For标头,看看它是否具有您需要的值。

通常,如果请求通过代理服务器/负载平衡器,则最好检查正确客户端IP的XFF标头的值。

希望这有帮助。

-Avijit

答案 1 :(得分:0)

为补充Avi的响应,您将需要打开文件/etc/apache2/apache2.conf并更改以下几行:

  

LogFormat“%v:%p%h%l%u%t \”%r \“%> s%O \”%{Referer} i \“ \”%{User-Agent} i \“” vhost_combined

     

LogFormat“%h%l%u%t \”%r \“%> s%O \”%{Referer} i \“ \”%{User-Agent} i \“”组合

     

LogFormat“%h%l%u%t \”%r \“%> s%O”常见

     

LogFormat“%{Referer} i->%U”引用

     

LogFormat“%{User-agent} i”代理

收件人:

  

LogFormat“%{X-Forwarded-For} i i%v:%p%h%l%u%t \”%r \“%> s%O \”%{Referer} i \“ \”% {User-Agent} i \“” vhost_combined

     

LogFormat“%{X-Forwarded-For} i i%h%l%u%t \”%r \“%> s%O \”%{Referer} i \“ \”%{User-Agent} i \“”组合

     

LogFormat“%{X-Forwarded-For} i i%h%l%u%t \”%r \“%> s%O”常见

     

LogFormat“%{X-Forwarded-For} i i%{Referer} i->%U”引用

     

LogFormat“%{X-Forwarded-For} i%{User-agent} i”代理

然后,使用以下命令重新启动apache服务:sudo service apache2 restart 并且客户端ip将出现在apache日志中。 用以下方法检查结果: 猫/var/log/apache2/access.log