在 AWS 下使用 bitnami tomcat stack(Apache + Tomcat)。直到现在一切都很完美。Webapps 中的一项新功能需要超过 2 分钟的等待时间才能完成。但在执行停止之前,Apache 发送 HTTP-500 错误。检查tomcat控制台时,它同时显示以下错误。
» 2016 年 5 月 19 日 16:13:27.370 Thu May 19 16:13:27 +0530 2016,(FrameworkServlet.java:984)调试:无法完成请求,ClientAbortException:java.net.SocketException:org.apache 的管道损坏。 catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:413) 在 org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480) 在 org.apache.tomcat.util.buf.ByteChunk.append( ByteChunk.java:366) 在 org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:438) 在 org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:426) 在 org.apache.catalina .connector.CoyoteOutputStream.write(CoyoteOutputStream.java:91)
在尝试多个示例请求时,发现在等待 60 秒后正好收到 HTTP-500。
Tomcat 服务器.xml
<Connector port="8099" protocol="AJP/1.3" redirectPort="8443" connectionTimeout="300000" />
Tomcat.conf
<LocationMatch "^/(?!(phpmyadmin([^a-zA-Z0-9]|$))).*$">
ProxyPass ajp://localhost:8009 connectiontimeout=36000 timeout=36000
</LocationMatch>
检查 linux 的 Timeout 框,发现是 2hrs。它可能是 Apache 或 Apache-Tomcat 连接器超时问题。bitnami 堆栈中的这些配置在哪里进行更改。