我在 CentOS 服务器上安装了 VSFTP 守护程序,并使用 RSA 证书通过显式 TLS 登录。现在,我无法上传超过 82k 的文件。
如果文件大小低于该限制,则不会出现问题。FTP 运行起来非常顺畅。但是,一旦文件大小达到 FileZilla 的 82k(确切地说是 81,952 字节),传输就会停止,FTP 客户端会挂起,直到超时。
FTP 客户端控制台:
15:10:21 Command: STOR jquery-1.7.2.min.js
15:10:21 Response: 150 Ok to send data.
15:11:21 Error: Connection timed out
15:11:21 Error: File transfer failed after transferring 82 KB in 60 seconds
/var/log/vsftpd.log
FTP command: Client "x.x.x.x", "STOR jquery-1.7.2.min.js"
FTP response: Client "x.x.x.x", "150 Ok to send data."
OK UPLOAD: Client "x.x.x.x", "jquery-1.7.2.min.js", 81952 bytes, 1.32Kbyte/sec
FTP response: Client "x.x.x.x", "226 File receive OK." // NOT okay, file is bigger
// No mention of error here
除了可能存在的问题(默认配置中未提及)之外,我找不到有关此问题的相关信息,trans_chunk_size
但我尝试了不同的尺寸,但对问题没有影响。
trans_chunk_size=4096
trans_chunk_size=8192
trans_chunk_size=9999
当然,每次更改配置后,我都会重新启动服务器:
/etc/init.d/vsftpd restart
还有什么原因可能导致这种情况?
它不是最新版本,但它是存储库中被认为适合企业使用的最新更新:
包装信息:
$ yum info vsftpd
Loaded plugins: fastestmirror
Installed Packages
Name : vsftpd
Arch : x86_64
Version : 2.0.5
Release : 24.el5_8.1
Size : 286 k
Repo : installed
Summary : vsftpd - Very Secure Ftp Daemon
URL : http://vsftpd.beasts.org/
License : GPL
Description: vsftpd is a Very Secure FTP daemon. It was written completely from scratch.
答案1
答案2
我不再在我的服务器上使用 FTP,太麻烦了。
但如果我没记错的话,问题确实(部分)出在客户端,解决方法是编译最新版本的 FileZilla。而不是 Ubuntu 存储库中的(永远过时的)版本。
这是 FileZilla 的人自己指出的,但我现在无法找回该资源。