1

我们有一个运行 tomcat6 (6.0.36) 的 Linux 服务器。我们有一个基于 GWT 的网络应用程序。它已经运行了 2 年,直到 5 天内出现了两次问题:HTTPS 停止工作,即使 HTTP 工作正常。两次,简单的重启都解决了问题。

  • 证书未接近到期,重启后确实很好
  • 发生故障时服务器上没有显着负载,CPU 和 %MEM 都很好
  • HTTP 立即响应
  • HTTPS 只是超时而没有给我们任何线索
  • 'catalina.out' 文件中没有任何内容,但 localhost.*log 文件中有 SocketTimeoutException,见下文
  • 线程转储 (kill -3) 没有显示任何异常

任何想法,任何人?

SEVERE: Exception while dispatching incoming RPC call
java.net.SocketTimeoutException
    at org.apache.coyote.http11.InternalAprInputBuffer.fill(InternalAprInputBuffer.java:796)
    at org.apache.coyote.http11.InternalAprInputBuffer$SocketInputBuffer.doRead(InternalAprInputBuffer.java:830)
    at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:116)
    at org.apache.coyote.http11.InternalAprInputBuffer.doRead(InternalAprInputBuffer.java:738)
    at org.apache.coyote.Request.doRead(Request.java:427)
    at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:304)
    at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:419)
    at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:327)
    at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:162)
    at com.google.gwt.user.server.rpc.RPCServletUtils.readContent(RPCServletUtils.java:222)
    at com.google.gwt.user.server.rpc.RPCServletUtils.readContentAsGwtRpc(RPCServletUtils.java:250)
    at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.readContent(AbstractRemoteServiceServlet.java:182)
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:239)
    at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at au.com.edval.timetable.server.filter.LoginFilter.doFilter(LoginFilter.java:27)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:879)
    at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:600)
    at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1703)
    at java.lang.Thread.run(Thread.java:679)
Jul 30, 2013 10:27:31 AM org.apache.catalina.core.ApplicationContext log

请注意,几年前我遇到了类似的问题 - HTTPS 可以工作,但速度很慢。事实证明,有一个配置选项表明 HTTPS 应该对每个页面请求进行反向 DNS 查找。这自然会减慢一切。但这现在仍然被禁用,所以它不可能是原因,我不认为。

4

1 回答 1

1

对于 GWT+Tomcat 设置中的 RPC 调用,这似乎是一个长期存在的问题。有关详细信息,请参阅以下线程。许多人报告了 IE 浏览器的问题,但我认为这不是你的情况。不过,很少有人报告 Firefox 的问题。

https://code.google.com/p/google-web-toolkit/issues/detail?id=4723

于 2013-08-06T22:49:11.087 回答