Upload de FTP com falha em um local

3

Estou tentando migrar um site de um servidor para outro e estou tendo um problema de FTP no novo servidor. O site tem conteúdo trazido pelo FTP por um software interno, eu sei que usar o FTP é desaconselhável, mas por enquanto não tenho escolha no assunto. Eu configurei o FTP aparentemente bem o suficiente e consegui transferir arquivos usando os clientes terminais FileZilla, CyberDuck e ftp, mas usando nosso software ele fará o login, criará o arquivo de 0 bytes e timeout (ETIMEDOUT) toda vez, exceto quando usar a rede em meu escritório. Eu corri este dongles 4G, através de VPNs, em casa etc e ele irá falhar.

O cliente ftp usado em nosso software é jsftp , que funciona apenas no modo passivo, então a mudança para ativo não é uma possibilidade. O software é executado no macOS.

O servidor anterior funciona bem a partir de qualquer local, é uma máquina Debian compartilhada do MediaTemple que usa o pure-ftpd. O novo servidor para o qual estou migrando está executando o Ubuntu 16.04 e hospedado pelo Google Cloud Platform. Eu usei ambos vsftpd e pure-ftpd. Tentei usar outro servidor do Google Cloud configurado na minha conta pessoal e os mesmos problemas ocorrem.

Eu não consigo descobrir onde está o problema, o software funciona totalmente bem no servidor antigo e, quando usado no escritório, também funciona perfeitamente nos servidores do Google. Os servidores do Google também podem ser acessados por vários outros clientes e funcionam independentemente de estar no escritório ou não. Não consigo encontrar nada on-line sobre essa situação específica, portanto, qualquer idéia será bem-vinda.

    
por Calum 18.06.2017 / 16:43

3 respostas

0

Eu consertei esse problema no lado do servidor. Notei que em conexões onde eu não poderia fazer o upload através do software, se eu usasse o FileZilla, ele retornaria com "Servidor enviando uma resposta passiva com endereço não rotuável. Usando o endereço do servidor." mas eu não conseguiria isso com conexões onde o software funcionava.

Então eu configurei o endereço IP do servidor para o modo passivo (ForcePassiveIP em pure-ftpd) e agora ele funciona como pretendido.

    
por 19.06.2017 / 13:49
0

Você mencionou que o arquivo tem 0 bytes e expira. Você verificou as permissões de arquivo do diretório em que seu software está gravando?

    
por 18.06.2017 / 18:05
0

Quando você exibe a VM no GCP, atualize as regras de firewall:

  • IN: TCP 20,21,60000-65535
  • OUT: TCP 20,21,60000-65535

Em seguida, atualize o FTP para usar o intervalo de portas passivo 60000-65535. Então, no lado do clinet, use o modo passivo. Detalhes e instruções - link

    
por 04.11.2017 / 10:15