为什么我应该logging每一个没有find的页面,我可以阻止它?

我有一个服务器,主机约10个不同的网站。 我注意到,对于一些网站,我经常在我的Apache日志中看到如下所示的错误消息:

[Sun Sep 23 09:46:54 2012] [error] [client 211.154.213.122] File does not exist: /dir/dir/htdocs/nameOfSomeFileThatDoesNotExist 

在很多情况下,这些File does not exist目录中也不存在。

如果有人试图访问我的网站上的一个不存在的目录中的页面,那么就我所知,他们在浏览器中得到了一条标准的消息:

The requested URL /nameOfSomeFileThatDoesNotExistwas not found on this server

既然如此,我看不出这是一个真正的威胁或问题。 如果有人来到我的服务器上的某个域,input一个随机页面,并得到一个404消息,为什么我应该关心? 它看起来像大多数的请求是以前的页面,但不存在了,也许偶尔钓鱼尝试目录和他们的内容(所有我的目录有一个index.html,不应该能够被读为目录)。

有什么原因,我应该继续在我的Apache提醒,当这种情况发生? 这似乎只是在日志中造成了很多噪音,而我正在努力简化一些事情,以便更清楚地看到真正意义上的错误。

这是否表明网站结构有问题? 由于我似乎没有从服务器上的所有网站获取此错误,我不确定是否只是某些网站获取这些网页请求,或者如果网站的结构有所不同。

最后,假设我可以安全地忽略对不存在的页面和目录的请求,那么防止它们淹没我的日志的最好方法是什么? 是否只是更改错误报告级别,或者我是否按照处理网站的方式做了不同的事情?

Apache日志文件是Web服务器pipe理员信息的良好来源。 这些404(找不到)错误可能表明几件事情:

  1. 打破尝试可能的configuration错误的pipe理员访问。
  2. 用户input错误的URL。
  3. 网站或其他引荐网站中的链接中断。
  4. 糟糕的重写/redirect规则。
  5. 等等…

用户代理和IP地址有时可以给你一个提示。 例如,如果某个时间段内的所有请求都来自一个IP,并且它们正在请求诸如/phpmyadmin/phppgadmin等一些众所周知的URL,则可以告诉这是一个破解尝试。