我有一個web應用程序部署在tomcat 7.0.23上,並且有兩個連接器被設置,幾乎默認值。tomcat http請求中止,但https罰款
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
compression="on"
compressableMimeType="text/xml"
address="SERVER_HOSTNAME" />
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="400" scheme="https" secure="true"
address="SERVER_HOSTNAME"
clientAuth="false" SSLProtocol="ALL"
SSLCertificateFile="/PATH/tomcat-server.crt"
SSLCertificateKeyFile="/PATH/tomcat-server.rsa"
SSLCipherSuite="ALL:!ADH:!SSLv2:!EXPORT40:!EXP:!LOW"
compression="on" compressableMimeType="text/xml"/>
在tomcat剛剛重新啓動後,http:8080和https:8443都正常工作。雖然幾天後,8080將無法工作,但8443仍然正常工作。 「8080不工作」的含義是當使用firefox訪問http:8080時,一些資源如js/css文件將不可用。
在firebug中,有時A.js文件將顯示爲「Aborted」,有時候B.js將顯示爲「Aborted」。我嘗試訪問單個文件,例如http://:8080/js/A.js文件,結果也是隨機的,有時可以在瀏覽器中顯示完整內容,有時會中止http請求。
我也嘗試將connectionTimeout增加到「60000」,唯一的變化是在Firebug中,中止的請求是0B,但現在是實際大小。使8080正常工作的唯一方法是重新啓動tomcat。
請有人告訴我什麼原因或我應該嘗試哪種方式?謝謝。
謝謝!服務器已在本週一重新啓動,因此http:8080現在沒問題,但我相信它會在幾天後回來。它在solaris上運行,但根據您的提示,我找到一個腳本來確定哪個線程正在使用特定的端口。這裏有兩個猜測,一個是其他線程消耗8080端口,因此以某種方式阻止tomcat響應,這與您懷疑的一樣;另一個是網絡延遲。你有想法如何檢查? – Daniel
不好意思,檢查一下? Solaris上的端口使用率或網絡延遲,還是兩者? :) –