异常的Apache-> Tomcat缓存问题
现在,我在Tomcat前面有一个Apache设置来处理缓存。此设置已交给外部服务进行管理,并且自过渡以来,我注意到了奇怪的行为。具体来说,当我从Web服务器请求swf文件时,我命中了Apache缓存(很好),但是偶尔我会收到截断的文件。收到此截断的文件后,缓存将不会刷新,直到手动删除缓存并再次从tomcat下拉swf为止。 外部服务声称配置很好,但是除了配置不正确之外,我看不到任何其他可能的方式。现在,在负载平衡器下有两个Apache服务器和两个Tomcat服务器,偶尔一个apache缓存将中断,而另一个则不会(导致所有请求的50%变为错误的,被截断的数据)。 我应该从哪里开始调试此问题?是什么可能导致这种奇怪的行为? 编辑:检查日志,tomcat抛出此: java.io.IOException: Bad file number at java.io.FileInputStream.readBytes(Native Method) at java.io.FileInputStream.read(FileInputStream.java:199) at java.io.BufferedInputStream.read1(BufferedInputStream.java:256) at java.io.BufferedInputStream.read(BufferedInputStream.java:317) at java.io.FilterInputStream.read(FilterInputStream.java:90) at org.apache.catalina.servlets.DefaultServlet.copyRange(DefaultServlet.java:1968) at org.apache.catalina.servlets.DefaultServlet.copy(DefaultServlet.java:1714) at org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.java:809) at org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:325) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 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:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:209) at …