使用 Analog 6 进行网络统计,我很惊讶地发现 54 天内有超过一百万个 404 错误。我看得对吗?404 与“200 OK”页面浏览量的比例是否不寻常?我在实际 URL 列表中没有看到任何 404;损坏 URL 的列表在哪里?如果这很重要的话,该网站是 unix/apache 上的 html、WordPress 和 asp 页面的组合。
Requests Status Codes
6548392 200 OK
807 206 Partial content
1830136 301 Document moved permanently
61795 302 Document found elsewhere
3091342 304 Not modified since last retrieval
3042 400 Bad request
49012 403 Access forbidden
1043694 404 Document not found
2936 500 Internal server error
411 503 Service temporarily unavailable
一般统计数据:
Successful requests: 9,640,541
Average successful requests per day: 183,490
Successful requests for pages: 1,620,543
Failed requests: 1,099,095 (20,066)
答案1
损坏的 URL 列表将位于实际的日志文件中。目前看来,您系统的请求中约有 15% 是 404。这确实看起来异常高。
如果让我猜测的话,我敢打赌你的页面模板包含指向损坏的图像、javascript 或 css 文件的链接。
对日志文件进行快速 grep 可能会揭示大部分细节。
答案2
我同意 404 错误的数量相当高,但这可能是自动机器人试图利用软件中已知的漏洞。
当然,这并不完全一样,但我们的网络服务器每个月都会出现数万个 404 错误,通过分析这些 URL,你会发现好像某个机器人正在尝试对数百种不同的产品(我们都没有安装)进行已知的 SQL 注入。
这是一项艰巨的初始任务,但是从您查找真正的 404 的首选方式中排除漏洞 URL,它就会变得更加准确。
答案3
如果您无法按照建议访问原始日志,请考虑对您的网站进行爬网以查找损坏的链接。请参阅W3C 的链接检查器,指定递归检查链接文档,递归深度有意义。