ftp 服务器在国内,放在路由器后面,路由器上设置了 PAT 端口映射,路由器 wan 口是联通公网固定 ip 。 ftp 服务器软件为 pure-ftpd 1.0.33 ,数据目录在网络 nas 上, mount 到服务器使用。
有 2 个客户端, 1 个在 us(ping 路由器 wan 口延迟在 330ms 左右), 1 个在 sh(ping 路由器 wan 口延迟在 80ms 左右),都使用 filezilla 3.24 作为客户端软件
问题:
sh 的客户端可以正常下载所有文件。
us 的客户端有 1 个 260KB 左右的二进制文件无法下载(默认使用 binary 传输模式),传输模式改成 ascii 模式后倒是可以下载,但是因为模式问题,下载后是无法使用的。比较奇怪的是:同目录下,另一个 258B 左右的二进制文件是能正常下载的。
把这个不能下载的 260KB 文件复制到 us 机房的一台 ftp 服务器上,使用同样的 sh 客户端或 us 客户端却又都能正常下载。
us 客户端 Filezilla 下载时的日志:
2017-02-23 13:35:20 7828 3 Command: RETR test.so
2017-02-23 13:35:20 7828 3 Response: 150-Accepted data connection
2017-02-23 13:35:20 7828 3 Response: 150 250.7 kbytes to download
2017-02-23 13:35:40 7828 3 Error: Connection timed out after 20 seconds of inactivity
2017-02-23 13:35:40 7828 3 Error: File transfer failed
2017-02-23 13:35:40 7828 3 Status: Disconnected from server
之前验证什么的都正常,等到下载时就只有 timeout 的记录。
这个问题测试了一个下午,目前没有其它思路了。不知道这里的老司机有没有其它想法?谢谢!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.