我对 Debian 8 上的 tomcat 7 的默认配置有疑问。
问题:我得到了服务器的 cpu,由于 java 进程,跳转到 100% 并在那里停留数小时,使服务器变慢。如果我重新启动 tomcat 服务器,cpu 将再次变为 1%。几个小时后,问题又开始了。
Java 应用程序状态:在 tomcat 上没有安装自定义 Java 应用程序,因此这可能是 tomcat 问题。
日志:观看 catalina.out 我发现此错误消息与 cpu pitch start 相对应
2017 年 1 月 19 日上午 1:03:23 org.apache.coyote.http11.AbstractHttp11Processor 进程信息:解析 HTTP 请求标头时出错
如何复制:服务器重新启动后,我尝试通过 Web 浏览器访问此 URL 来使用 https 访问 Tomcat 服务器主页
瞧,cpu 开始发疯,我像以前一样得到日志。
这是什么意思:这意味着每个有特殊请求的人都可以对我的服务器进行 DDOS
问题:有没有办法在不改变我的 Linux 发行版或 apt 使用的打包版本的 tomcat 的情况下解决这个问题?
我正在使用来自 Google Compute Engine 的全新 debian 8 默认映像。Tomcat 7.0.56 Java 1.7.0_111
总之,应用科学的方法。
我有完全相同的问题,以及相同的系统配置。当我重新启动服务器时,一两天就可以了,然后tomcat7再次使用了大约99%的cpu。
这次我这样做了:
服务tomcat7停止
它仍然为我工作。正如你提到的,我不使用 Java,所以对我来说没问题。
我对 Debian 8,tomca7.0.56 有完全相同的问题。
对我来说,升级到后端版本解决了它。我将tomcat7、tomcat7-common、libtomcat7-java和libservlet3.0-java升级到版本=7.0.73-1~bpo8+1(像这样:apt-get install tomcat7=7.0.73-1~bpo8+1)
我认为我们在 Debian 8 中当前版本的 tomcat 7.0.56 存在一个巨大的安全问题。使用标准配置,每个简单地调用 https://domain.tld:8080 的人都会导致 cpu 缩放到 100%,直到你重新启动 tomcat !