2

Использование vsftpd 3.0.2 в Ubuntu 14.04. Клиенты, подключающиеся через JavaApplet, как правило, из Win7, используя стандартный FTP. Проблема возникает как в IE, так и в FireFox. На небольших переводах у клиентов нет проблем. В больших файлах некоторые клиенты не "слышат" "Transfer Complete" и ждут отправки следующего файла. Они сидят в течение 10 минут, затем vsftpd выдает "421 Timeout".

Апплет загружает 3 файла, xxxx.zip, xxxx.xml и xxxx.log. Файл xxxx.zip загружается полностью, но затем он останавливается, а файлы .xml и .log никогда не загружаются.

Апплет использует одно и то же имя пользователя / пароль, поэтому в одно и то же время можно подключить несколько соединений от разных пользователей, используя одну и ту же комбинацию имени пользователя и пароля. Апплет не позволяет пользователю открывать более 1 апплета за раз.

Другие клиенты могут отправлять файлы 5 ГБ без проблем. Есть идеи?

Фрагмент Vsftpd.log:

Wed Jul  1 00:52:22 2015 [pid 42721] CONNECT: Client "XXX.XXX.XXX.XXX"
Wed Jul  1 00:52:22 2015 [pid 42721] FTP response: Client "XXX.XXX.XXX.XXX", "220 Welcome to CompanyName, Inc. FTP service."
Wed Jul  1 00:52:23 2015 [pid 42721] FTP command: Client "XXX.XXX.XXX.XXX", "USER ftpusername"
Wed Jul  1 00:52:23 2015 [pid 42721] [ftpusername] FTP response: Client "XXX.XXX.XXX.XXX", "331 Please specify the password."
Wed Jul  1 00:52:23 2015 [pid 42721] [ftpusername] FTP command: Client "XXX.XXX.XXX.XXX", "PASS <password>"
Wed Jul  1 00:52:23 2015 [pid 42719] [ftpusername] OK LOGIN: Client "XXX.XXX.XXX.XXX"
Wed Jul  1 00:52:23 2015 [pid 42724] [ftpusername] FTP response: Client "XXX.XXX.XXX.XXX", "230 Login successful."
Wed Jul  1 00:52:23 2015 [pid 42724] [ftpusername] FTP command: Client "XXX.XXX.XXX.XXX", "TYPE I"
Wed Jul  1 00:52:23 2015 [pid 42724] [ftpusername] FTP response: Client "XXX.XXX.XXX.XXX", "200 Switching to Binary mode."
Wed Jul  1 00:52:25 2015 [pid 42724] [ftpusername] FTP command: Client "XXX.XXX.XXX.XXX", "SIZE 202718.zip"
Wed Jul  1 00:52:25 2015 [pid 42724] [ftpusername] FTP response: Client "XXX.XXX.XXX.XXX", "550 Could not get file size."
Wed Jul  1 00:52:25 2015 [pid 42724] [ftpusername] FTP command: Client "XXX.XXX.XXX.XXX", "PWD"
Wed Jul  1 00:52:25 2015 [pid 42724] [ftpusername] FTP response: Client "XXX.XXX.XXX.XXX", "257 "/""
Wed Jul  1 00:52:25 2015 [pid 42724] [ftpusername] FTP command: Client "XXX.XXX.XXX.XXX", "TYPE I"
Wed Jul  1 00:52:25 2015 [pid 42724] [ftpusername] FTP response: Client "XXX.XXX.XXX.XXX", "200 Switching to Binary mode."
Wed Jul  1 00:52:25 2015 [pid 42724] [ftpusername] FTP command: Client "XXX.XXX.XXX.XXX", "PASV"
Wed Jul  1 00:52:25 2015 [pid 42724] [ftpusername] FTP response: Client "XXX.XXX.XXX.XXX", "227 Entering Passive Mode (172,26,157,245,200,186)."
Wed Jul  1 00:52:25 2015 [pid 42724] [ftpusername] FTP command: Client "XXX.XXX.XXX.XXX", "SIZE 202718.zip"
Wed Jul  1 00:52:25 2015 [pid 42724] [ftpusername] FTP response: Client "XXX.XXX.XXX.XXX", "550 Could not get file size."
Wed Jul  1 00:52:26 2015 [pid 42724] [ftpusername] FTP command: Client "XXX.XXX.XXX.XXX", "REST 0"
Wed Jul  1 00:52:26 2015 [pid 42724] [ftpusername] FTP response: Client "XXX.XXX.XXX.XXX", "350 Restart position accepted (0)."
Wed Jul  1 00:52:26 2015 [pid 42724] [ftpusername] FTP command: Client "XXX.XXX.XXX.XXX", "STOR 202718.zip"
Wed Jul  1 00:52:26 2015 [pid 42724] [ftpusername] FTP response: Client "XXX.XXX.XXX.XXX", "150 Ok to send data."
Wed Jul  1 01:08:50 2015 [pid 42724] [ftpusername] OK UPLOAD: Client "XXX.XXX.XXX.XXX", "/202718.zip", 508473359 bytes, 504.23Kbyte/sec
Wed Jul  1 01:08:50 2015 [pid 42724] [ftpusername] FTP response: Client "XXX.XXX.XXX.XXX", "226 Transfer complete."
Wed Jul  1 01:18:51 2015 [pid 42724] [ftpusername] FTP response: Client "XXX.XXX.XXX.XXX", "421 Timeout."

Фрагмент журнала Java-апплета

creating heartbeat
Uploading: 202718.zip
Checking if file already exists on server and what size it is
ftp is NOT null
ftp is connected
UploadPage: FTP Command Sent: ---> SIZE 202718.zip
UploadPage: FTP Command Received: 550 Could not get file size.
UploadPage: FTP Command Sent: ---> PWD
Time to upload the file
UploadPage: FTP Command Received: 257 "/"
UploadPage: FTP Command Sent: ---> TYPE I
UploadPage: FTP Command Received: 200 Switching to Binary mode.
UploadPage: FTP Command Sent: ---> PASV
UploadPage: FTP Command Received: 227 Entering Passive Mode (172,26,157,245,200,186).
UploadPage: FTP Command Sent: ---> SIZE 202718.zip
UploadPage: FTP Command Received: 550 Could not get file size.
UploadPage: FTP Command Sent: ---> REST 0
UploadPage: FTP Command Received: 350 Restart position accepted (0).
UploadPage: FTP Command Sent: ---> STOR 202718.zip
UploadPage: FTP Command Received: 150 Ok to send data.
applet is being stopped
applet is being destroyed

Апплет останавливается / уничтожается от пользователя, который отказывается и закрывает веб-страницу, содержащую апплет. Процесс должен был продолжиться и загрузить соответствующие файлы .xml и .log.

1 ответ1

1

Обычно это происходит из-за брандмауэра / прокси или аналогичного сетевого компонента на пути между клиентом и сервером.

Во время длительных передач отсутствует связь между клиентом и сервером через управляющее соединение FTP, и брандмауэр (или аналогичный) может решить закрыть соединение.

Проверьте конфигурацию брандмауэра, если вы можете установить более длительное время ожидания для (казалось бы) незанятых соединений.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .