AWS で bitnami tomcat スタック (Apache + Tomcat) を使用します。今まではすべてが完璧でした。Webapps の新機能の 1 つは、完了までに 2 分以上の待機時間を必要とします。しかし、実行が停止する前に、Apache は HTTP-500 エラーを送信します。Tomcat コンソールを確認すると、同時に以下のエラーが表示されます。
» 2016 年 5 月 19 日 16:13:27.370 2016 年 5 月 19 日 16:13:27 +0530、(FrameworkServlet.java:984) DEBUG: 要求を完了できませんでした。ClientAbortException: java.net.SocketException: org.apache でパイプが壊れています。 catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:413) は org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480) で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)
複数のサンプル リクエストを試してみると、HTTP-500 が 60 秒待った直後に受信されたことがわかりました。
Tomcat server.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 ボックスのタイムアウトを確認すると、2 時間であることがわかりました。Apache または Apache-Tomcat コネクタのタイムアウトの問題である可能性があります。これらの構成は、bitnami スタックのどこにあり、変更できます。