我管理的一个网站偶尔需要通过互联网提供大型文件,这通常会导致 HTTP 500 内部服务器错误。不过,我可以通过访问 localhost 在本地重现此问题
从我查看日志的情况来看,这是由于客户端中止连接而发生的,并且总是在 60 秒后。
服务器日志:
原因:org.apache.catalina.connector.ClientAbortException:java.io.IOException
有人知道超时时间是多少吗?这种情况只发生在大文件上,所以我的假设是下载时间被视为空闲时间。有一件奇怪的事情是,我没有收到打开/保存文件的提示。我选择了文件链接,60 秒后我得到了 HTTP 500 响应。任何建议或意见都将不胜感激。
答案1
堆栈跟踪中的错误消息表明客户端中止了下载。客户端不一定是实际的最终用户,也可能是中间的代理服务器。
如果你在 Tomcat 前面安装了 Apache,并且使用了 mod proxy ajp,则 60 秒是TimeOut
Apache 中的指令。
您可以使用以下方法增加代理对 Tomcat 的请求超时时间:ProxyTimeOut
指示。