Debian 8 上 Tomcat 7 的 cpu 100%

Debian 8 上 Tomcat 7 的 cpu 100%

我在 Debian 8 上使用 tomcat 7 的預設配置時遇到問題。

問題:由於 java 進程,我的伺服器的 cpu 跳到 100% 並在那裡停留幾個小時,導致伺服器變慢。如果我重新啟動 tomcat 伺服器,CPU 會再次變成 1%。幾個小時後,問題再次出現。

Java 應用程式狀態: tomcat 上未安裝自訂 java 應用程序,因此這可能是 tomcat 問題。

日誌:在觀看 catalina.out 時,我發現此錯誤訊息與 cpu 間距啟動相對應

Jan 19, 2017 1:03:23 AM org.apache.coyote.http11.AbstractHttp11Processor 進程資訊:解析 HTTP 請求標頭時發生錯誤

如何複製:伺服器重新啟動後,我嘗試透過網頁瀏覽器存取此網址,使用 https 存取 tomcat 伺服器主頁

https://domain.com:8080

瞧,CPU 開始變得瘋狂,我像以前一樣得到日誌。

這意味著什麼:這意味著每個有特殊請求的人都可以 DDOS 我的伺服器

問題:有沒有辦法在不改變我的linux發行版或apt使用的tomcat打包版本的情況下解決這個問題?

我正在使用來自 Google Compute Engine 的全新 debian 8 預設映像。 tomcat 7.0.56 Java 1.7.0_111

答案1

我在 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 有嚴重的安全性問題。 !

答案2

簡而言之,申請科學的方法

  • 查看 8080 連接埠上正在偵聽的內容。
  • 了解它是如何配置的。
  • 了解它在做什麼。
  • 採取適當的行動

答案3

我有完全相同的問題,並且系統配置相同。當我重新啟動伺服器時,一兩天就可以了,然後tomcat7又使用了大約99%的CPU。

這次我這樣做了:

服務tomcat7停止

它仍然對我有用。正如你提到的,我不使用 Java,所以它對我來說沒問題。

相關內容