首先,我们有一台服务器在 apache2 的反向代理后面托管一个大文件(8Mb)。
当我尝试使用 wget 或 curl 在本地下载该文件时,连接被关闭。客户端什么也没说……除了连接被关闭。
0 8619k 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0{ [8000 bytes data]
86 8619k 86 7464k 0 0 80723 0 0:01:49 0:01:34 0:00:15 66791* transfer closed with 1110002 bytes remaining to read
* Curl_http_done: called premature == 1
87 8619k 87 7536k 0 0 80763 0 0:01:49 0:01:35 0:00:14 62315
* Closing connection 0
curl: (18) transfer closed with 1110002 bytes remaining to read
它与 curl 有关,-v
但它并没有表明服务器是否关闭了连接或者连接是否丢失。
我尝试增加代理和 apache2 后面的服务器上的超时和工作线程活动时间。但没有任何变化...我尝试使用 apache2 静态托管文件而不使用反向代理,但连接再次关闭。
最后一条信息是,我位于地球的另一端,服务器就位于那里。我可能会遇到一些延迟和较低的速度,但有没有办法找出连接是否在我们这边关闭,还是在中间的某个地方关闭?
我的伙伴距离服务器较近,没有遇到这个问题,他的网速在 2Mb/s 左右,而我只有 80Kb/s,考虑到我的连接速度是 20mbit,这相当慢。