在Tomcat 8上使用HTTPS下载不完整的文件

时间:2019-05-31 00:56:40

标签: ssl tomcat asynchronous https timeout

我正在尝试通过HTTPS(8443)从Tomcat 8异步下载大文件(超过3 GB)。调用REST端点时,下载开始,但大约需要10-30秒。但是在使用HTTP协议时,下载工作正常(文件已全部下载)

有人可以帮我吗?因为我认为我的想法即将结束...

我尝试通过添加“ connectionTimeout ”和“ asyncTimeout ”等属性来在 server.xml 中配置连接器,但是这没有帮助。通常,我使用创建的证书,该证书是使用JDK软件包中的“ keytool.exe”生成的。

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
       maxThreads="200" connectionTimeout="60000" asyncTimeout="60000"
        SSLEnabled="true">
<SSLHostConfig>
    <Certificate certificateKeystoreFile="HIDDEN_PATH"
                 type="RSA" 
                 keystorePass="HIDDEN_PASSWORD" />
</SSLHostConfig>

文件下载过程是异步的,并以 OCTET-STREAM 处理。下载需要10到30秒,然后下载进度消失,就好像文件已被下载一样。当然,由于文件未完全下载而损坏,因此无法打开。

问题不取决于浏览器,我尝试过Chrome,Internet Explorer和Mozilla。

我正在使用Windows 10,已禁用防火墙,并且已将Windows Defender的限制降至最低。

它也不依赖于环境,因为在Debian服务器上也会发生相同的问题。

有趣的是,在HTTP协议上,所有文件都完整下载(3.2 GB),从而有可能启动文件。

我希望完全通过HTTPS协议下载文件,而到目前为止,只能通过HTTP下载。

0 个答案:

没有答案