作为预防措施,我想默认阻止对我的 Web 服务器的访问,但我的错误日志中不断出现以下错误。
[2012 年 6 月 27 日星期三 23:30:54] [错误] [客户端 86.77.20.107] 服务器配置拒绝客户端:/home/www/default/Edu.jar
[2012 年 6 月 27 日星期三 23:32:40] [错误] [客户端 86.77.20.107] 服务器配置拒绝客户端:/home/www/default/REST.jar
[2012 年 6 月 27 日星期三 23:35:39] [错误] [客户端 86.77.20.107] 服务器配置拒绝客户端:/home/www/default/Set.jar
[2012 年 6 月 28 日星期四 01:01:17] [错误] [客户端 58.218.199.227] 服务器配置拒绝客户端:/home/www/default/proxyheader.php
[2012 年 6 月 28 日星期四 02:34:57] [错误] [客户端 58.218.199.227] 服务器配置拒绝客户端:/home/www/default/proxy.php
[2012 年 6 月 28 日星期四 05:41:33] [错误] [客户端 58.218.199.227] 服务器配置拒绝客户端:/home/www/default/proxyheader.php
[2012 年 6 月 28 日星期四 06:55:10] [错误] [客户端 180.76.6.20] 服务器配置拒绝客户端:/home/www/default/
[2012 年 6 月 28 日星期四 07:31:26] [错误] [客户端 86.77.20.107] 服务器配置拒绝客户端:/home/www/default/Edu.jar
[2012 年 6 月 28 日星期四 07:32:25] [错误] [客户端 86.77.20.107] 服务器配置拒绝客户端:/home/www/default/REST.jar
[2012 年 6 月 28 日星期四 07:36:10] [错误] [客户端 86.77.20.107] 服务器配置拒绝客户端:/home/www/default/Set.jar
我真的不想出现这些错误,但无论我做什么,都无法摆脱它们。有人知道我该怎么做吗?
这是我的配置的副本。
<VirtualHost *:80>
DocumentRoot /home/www/default
<Directory />
AllowOverride None
Order Deny,Allow
Deny from all
</Directory>
#ErrorLog /var/log/apache2/error.log
#LogLevel warn
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
答案1
答案2
我出于同样的原因找到了这个问题,但我不能隐藏所有错误类型的日志,所以我四处寻找,发现你可以从 Apache HTTP Server 2.3.6 开始设置单个模块的 LogLevel,因此对于使用该access_compat
模块的客户端拒绝的请求,你可以添加这个
LogLevel warn access_compat:crit
它将设置默认级别,warn
但仅显示crit
access_compat
日志,这使您能够查看其他error
类型的日志
我知道这已经很老了,但我希望它将来能为其他人提供更好的解决方案。
答案3
另一种方法是利用 Apache 的管道记录功能并在写入日志之前应用过滤器:
ErrorLog "|/bin/grep -v "client denied by server configuration" | /usr/local/apache/bin/rotatelogs /var/log/error_log 86400"