Tomcat在传输过程中使用sendfile和APR连接器断开连接

Tomcat在传输过程中使用sendfile和APR连接器断开连接,tomcat,tomcat7,apr,Tomcat,Tomcat7,Apr,我正在使用运行在Oracle Java 1.6.0_30上的Tomcat 7(7.0.25)。我已经安装了libtcnative-1并使用了APR连接器(org.apache.coyote.http11.http11aprotocol) 我尝试使用sendfile为静态文件提供服务(但这并不重要,因为这在没有sendfile的情况下是可复制的) 除非下载文件的用户在浏览器中保持“保存文件”对话框打开的时间过长,否则一切正常。当“保存文件”对话框在用户单击“确定”之前打开超过10秒时,用户计算机上

我正在使用运行在Oracle Java 1.6.0_30上的Tomcat 7(7.0.25)。我已经安装了libtcnative-1并使用了APR连接器(org.apache.coyote.http11.http11aprotocol)

我尝试使用sendfile为静态文件提供服务(但这并不重要,因为这在没有sendfile的情况下是可复制的)

除非下载文件的用户在浏览器中保持“保存文件”对话框打开的时间过长,否则一切正常。当“保存文件”对话框在用户单击“确定”之前打开超过10秒时,用户计算机上仅写入下载文件的一部分(通常约1.08MB)


这似乎是一种连接暂停,因为没有活动。如果有可用于调整超时值的设置,您有什么想法吗?或者知道如何在不同时去掉APR连接器的情况下避免问题吗?

想到的两个设置是DisabledLoadTimeout和connectionTimeout。你能把这两个值传递给我吗?您可以在server.xml文件中找到它。

我以前检查过这个配置选项。ConnectionTimeout设置为600000,disabledUploadTimeout设置为falseHmm。服务器和最终用户之间是否有防火墙/负载平衡器?从服务器本身,您可以尝试使用浏览器/wget下载文件吗?没有防火墙,没有负载平衡器。如果我以静态方式提供文件(即,不通过servlet),它就可以正常工作。不幸的是,这不是一个选项,因为文件是动态生成的,我还需要一个机制来防止热链接。同意,但是图像下载不会超过10秒。下一项检查是您是否可以从服务器本身执行下载/“另存为”功能(使用浏览器/wget/curl)。