Upload de FTP falhando em um local

Upload de FTP falhando em um local

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 enviado por FTP por um software interno, sei que usar FTP é altamente desaconselhável, mas por enquanto não tenho escolha no assunto. Eu configurei o FTP aparentemente bem e posso transferir arquivos com sucesso usando FileZilla, CyberDuck e clientes de terminal FTP, mas usando nosso software ele fará login, criará o arquivo de 0 bytes e expirará (ETIMEDOUT) todas as vezes, exceto ao usar a rede em meu escritório. Eu executei isso em dongles 4G, por meio de VPNs, em casa, etc., e ele falhará.

O cliente FTP usado em nosso software éjsftp, que só funciona no modo passivo, portanto mudar para ativo não é uma possibilidade. O software é executado em macOS.

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

Não consigo descobrir onde está o problema, o software funciona perfeitamente 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 funcionar independentemente de estar no escritório ou não. Não consigo encontrar nada online sobre esta situação específica, por isso quaisquer ideias são bem-vindas.

Responder1

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?

Responder2

Eu corrigi esse problema no lado do servidor. Percebi que nas conexões em que não era possível fazer upload por meio do software, se usasse o FileZilla, ele retornaria com "Servidor enviou resposta passiva com endereço não roteável. Usando o endereço do servidor". mas eu não conseguiria isso com conexões onde o software funcionasse.

Portanto, configurei o endereço IP do servidor para o modo passivo (ForcePassiveIP em pure-ftpd) e agora funciona como esperado.

Responder3

Ao abrir a VM no GCP, você deve atualizar as regras de firewall:

  • EM: TCP 20.21.60000-65535
  • SAÍDA: TCP 20,21,60000-65535

Em seguida, atualize o FTP para usar o intervalo de portas passivas 60000-65535. Então, no lado do clinet, use o modo Passivo. Detalhes e instruções -http://sysadm.pp.ua/linux/proftpd-ubuntu-16-04.html

informação relacionada