使用 HTTP/2 的 Apache 2.4 上的 ZIP 文件在大约 6 MB 后无法下载

使用 HTTP/2 的 Apache 2.4 上的 ZIP 文件在大约 6 MB 后无法下载

我正在尝试配置 Apache 2.4.25(Debian 9.7)服务器以通过 HTTP/2 提供文件。

所有 HTML、CSS、JS 和图像文件均已正确提供。

但是,我在处理较大的文件时遇到了困难,例如 58 MB (60639199 b) 的 ZIP 文件:

https://www.scan2docx.com/img/document_scanner_samples.zip

通过 HTTP/1.1 下载此文件完全符合预期。以下是 Apache 访问日志的摘录:

x.x.x.x - - [08/Feb/2019:08:11:05 +0100] "GET /img/document_scanner_samples.zip HTTP/1.1" 200 60752807 "-" "Wget/1.18 (linux-gnu)"

但是,通过 HTTP/2 下载时,Chrome 中返回以下错误:

Failed - network error

在 FireFox 中:

Failed

以下是 Apache 访问日志的摘录:

x.x.x.x - - [08/Feb/2019:08:02:08 +0100] "GET /img/document_scanner_samples.zip HTTP/2.0" 200 60639199 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"    

Apache 错误日志不包含大约同一时间的任何信息。

通过多次单击 Web 浏览器中的“恢复”按钮,最终可以下载全部 58 MB 的 ZIP 文件。

每次点击“恢复”时,似乎都会以接近 6 MB 的块下载 ZIP 文件。以下是 Chrome 中的文件大小:

"Unconfirmed 149963.crdownload"  6282112 b
"Unconfirmed 867419.crdownload" 12564224 b
"Unconfirmed 121076.crdownload" 18846336 b
"Unconfirmed 499937.crdownload" 25128448 b
"Unconfirmed 249798.crdownload" 31410560 b
"Unconfirmed 631305.crdownload" 37692672 b 
"Unconfirmed 871992.crdownload" 43974784 b

有人能解释一下这里发生了什么吗?

并就如何解决问题提出一些建议?


更新:使用 curl 7.64.0 测试结果。

使用支持 HTTP2 的 curl,我可以通过 HTTP/1.1 和 HTTP2 正确下载 ZIP 文件。

我使用了以下命令:

/usr/local/bin/curl -vs --http1.1 -o via_http_1_1.zip https://www.scan2docx.com/img/document_scanner_samples.zip &> /dev/stdout | tee -a via_http_1_1.txt

/usr/local/bin/curl -vs --http2   -o via_http_2.zip   https://www.scan2docx.com/img/document_scanner_samples.zip &> /dev/stdout | tee -a via_http_2.txt

Apache access.log 中的条目如下:

x.x.x.x - - [08/Feb/2019:12:37:24 +0100] "GET /img/document_scanner_samples.zip HTTP/1.1" 200 60752588 "-" "curl/7.64.0"
x.x.x.x - - [08/Feb/2019:12:37:37 +0100] "GET /img/document_scanner_samples.zip HTTP/2.0" 200 60639199 "-" "curl/7.64.0"

下载的ZIP文件如下:

-rw-r--r--  1 x x 60639199 Feb  8 12:37 via_http_1_1.zip
-rw-r--r--  1 x x 60639199 Feb  8 12:37 via_http_2.zip

HTTP/1.1 日志文件: https://www.scan2docx.com/img/via_http_1_1.txt

HTTP/2 日志文件: https://www.scan2docx.com/img/via_http_2.txt

然而,在网络浏览器和所有操作系统中,下载仍然失败。

是什么赋予了?

相关内容