我在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
有人可以告诉我这是什么问题吗? 谢谢!
答案 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