Servidor FTP “Transferência Concluída” não recebida pelo Cliente

2

Usando o vsftpd 3.0.2 no Ubuntu 14.04. Clientes se conectando via JavaApplet normalmente a partir do Win7 usando FTP padrão. Problema ocorre no IE e no FireFox. Em pequenas transferências, os clientes não têm problemas. Em arquivos maiores, alguns clientes não "ouvem" "Transferência concluída" e ficam esperando para enviar o próximo arquivo. Eles se sentam por 10 minutos e então o vsftpd emite um "421 Timeout".

O applet carrega 3 arquivos, um xxxx.zip, xxxx.xml e xxxx.log. O xxxx.zip é totalmente carregado, mas depois fica parado e os arquivos .xml e .log nunca são carregados.

O applet usa o mesmo nome de usuário / senha para que várias conexões de usuários diferentes possam ser registradas ao mesmo tempo com a mesma combinação de nome de usuário / senha. O applet impede que um usuário abra mais de 1 applet de cada vez.

Outros clientes podem enviar arquivos de 5 GB sem problemas. Alguma idéia?

Snippet 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."

Snippet de log de miniaplicativo 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

O applet está sendo interrompido / destruído é do usuário desistir e fechar a página da Web que contém o applet. O processo deve ter continuado e carregado os arquivos .xml e .log associados.

    
por Jim 02.07.2015 / 14:00

1 resposta

1

Isso geralmente é causado por um firewall / proxy ou componente de rede similar no caminho entre o cliente e o servidor.

Durante transferências longas, não há comunicação entre o cliente e o servidor em uma conexão de controle FTP e o firewall (ou similar) pode decidir fechar a conexão.

Verifique a configuração do firewall, se você puder definir um "tempo limite" mais longo para conexões (aparentemente) ociosas.

    
por 02.07.2015 / 17:59

Tags