tomcat http请求中止但https很好

时间:2014-01-06 18:22:31

标签: http tomcat https

我在tomcat 7.0.23上部署了一个Web应用程序,并且设置了两个连接器,几乎是默认值。

<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 not work”的含义是当使用firefox访问http:8080时,某些资源如js / css文件将无法随机使用。

在萤火虫中,有时A.js文件将显示为“Aborted”,有时B.js将显示为“Aborted”。我试图访问一个单独的文件,比如http://:8080 / js / A.js文件,结果也是随机的,有时候全部内容可以在浏览器中显示,有时http请求被中止。

我还尝试将connectionTimeout增加到“60000”,唯一的变化就是Firebug,中止请求是0B,但现在是实际大小。让8080正常工作的唯一方法是重启tomcat。

请有人告诉我是什么原因或我应该尝试哪种方式?感谢。

1 个答案:

答案 0 :(得分:0)

另一个进程可能是以某种方式使用端口8080。此过程无法正确响应您向Tomcat发送的请求。

因此,下次您看到此问题时,在重新启动Tomcat之前,请检查端口8080当前属于哪个进程。

在Linux上我使用以下命令:

netstat -nlpt | grep 8080

其中一列(如果我没记错的话,最后一列)将是使用该端口的进程的ID。

如果您有Windows设置,请使用

netstat -ano | find "LISTENING" | find "8080"

然后在任务管理器中找到此PID。

仅供参考:Windows Task Manager – showing the PID

相关问题