Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Apache httpd日志中存在大量404错误,用于错误路径的静态文件_Java_Apache_Tomcat_Http Status Code 404 - Fatal编程技术网

Java Apache httpd日志中存在大量404错误,用于错误路径的静态文件

Java Apache httpd日志中存在大量404错误,用于错误路径的静态文件,java,apache,tomcat,http-status-code-404,Java,Apache,Tomcat,Http Status Code 404,我们在Tomcat前面有一个Apache,Tomcat同时提供静态和动态内容。由于系统上的用户数量增加,Tomcat的速度变得非常慢,我们正在努力找出原因。我们的其他服务器在Tomcat中的开放会话数增加了一倍,没有问题 在apachehttpd日志中,我看到应用程序中不存在的静态文件路径中存在数千个404错误。文件存在,路径看起来几乎正确,但它包含系统中其他文件路径的副本和部分副本 示例:我们的系统中有此文件: /assets/img/menu-toggler.png 在httpd日志中,我

我们在Tomcat前面有一个Apache,Tomcat同时提供静态和动态内容。由于系统上的用户数量增加,Tomcat的速度变得非常慢,我们正在努力找出原因。我们的其他服务器在Tomcat中的开放会话数增加了一倍,没有问题

在apachehttpd日志中,我看到应用程序中不存在的静态文件路径中存在数千个404错误。文件存在,路径看起来几乎正确,但它包含系统中其他文件路径的副本和部分副本

示例:我们的系统中有此文件:

/assets/img/menu-toggler.png
在httpd日志中,我可以看到:

[02/Oct/2014:12:22:16 +1000] "GET /assets/assets/css/assets/plugins/jqvmap/assets/assets/img/menu-toggler.png HTTP/1.1" 404 11947 "-" "Mozilla/4.0 (compatible;)"
[02/Oct/2014:12:22:16 +1000] "GET /assets/assets/plugins/gritter/assets/plugins/fullcalendar/assets/assets/img/menu-toggler.png HTTP/1.1" 404 11947 "-" "Mozilla/4.0 (compatible;)"
我们在系统中有文件夹
资产
插件
jquery验证
,但肯定不是那样嵌套的

我们对该文件也有正确的GET请求

[02/Oct/2014:12:37:23 +1000] "GET /assets/img/menu-toggler.png HTTP/1.1" 200 948 "-" "Mozilla/4.0 (compatible;)"
我相信所有这些404错误都会导致Tomcat变慢。问题是:是什么原因导致系统中路径不存在的GET请求如此怪异?

有两种可能:

1-您的一个动态页面正在生成错误的URL,并将此URL提供给试图从此错误URL获取文件的客户端

2-有人故意向您的服务器发送大量错误请求,试图对其进行DDoS攻击

您的日志还可能包含有用的信息,如
IP
地址或客户端以及
HTTP
参考者,这些信息可能会指导您寻找答案


第一个选项更可能是一个好的答案,它可以解释为什么服务器性能下降,以及为什么被指控的坏URL包含重复的部分(比如一个循环在您的脚本中有一个坏的退出条件?

发现了问题:它是由静态内容的相对路径引起的。如果其他人遇到这个问题,这里有一个解释:应用程序使用的路径如下

<img src="../assets/img/menu-toggler.png" alt="" />
由于映像不存在,因此返回404错误。404页面已被删除

<img src="../assets/error/404/404.png"/>

这会导致一系列错误路径、404个错误、生产服务器报废以及无头鸡综合症。

问题是:是什么导致系统中路径不存在的GET请求如此怪异?
答案:我们看不到的代码
www.myserver.com/assets/one/two/three/non_existent.png
<img src="../assets/error/404/404.png"/>
www.myserver.com/assets/one/two/assets/error/404/404.png