FTP-Upload fehlgeschlagen, abgesehen von einem Ort

691
Calum

Ich versuche, eine Website von einem Server auf einen anderen zu migrieren, und ich habe ein FTP-Problem auf dem neuen Server. Der Inhalt der Site wird von FTP durch eine hauseigene Software auf den neuesten Stand gebracht. Ich weiß, dass der Gebrauch von FTP dringend empfohlen wird, aber vorerst habe ich keine Wahl. Ich habe FTP offenbar gut genug eingerichtet und kann Dateien mit FileZilla-, CyberDuck- und FTP-Terminal-Clients erfolgreich übertragen, aber mit unserer Software wird er sich anmelden, die Datei mit 0 Byte erstellen und jedes Mal ein Timeout (ETIMEDOUT) durchführen, außer bei der Verwendung des Netzwerks unter mein Büro. Ich habe dies mit 4G-Dongles, über VPNs, zu Hause usw. ausgeführt und wird fehlschlagen.

Der in unserer Software verwendete FTP-Client ist jsftp, der nur im passiven Modus arbeitet. Daher ist das Umschalten auf aktiv nicht möglich. Die Software läuft auf macOS.

Der vorherige Server funktioniert von jedem beliebigen Ort aus gut, es handelt sich um einen gemeinsam genutzten Debian-Computer mit MediaTemple, der pure-ftpd verwendet. Auf dem neuen Server, auf den ich migriere, wird Ubuntu 16.04 ausgeführt und von Google Cloud Platform gehostet. Ich habe sowohl vsftpd als auch pure-ftpd verwendet. Ich habe versucht, einen anderen Google Cloud-Server zu verwenden, der in meinem persönlichen Konto eingerichtet wurde, und dieselben Probleme treten auf.

Ich kann nicht herausfinden, wo das Problem liegt, die Software funktioniert auf dem alten Server einwandfrei und wenn sie im Büro verwendet wird, funktioniert sie auch auf den Google-Servern. Auf die Google-Server können auch zahlreiche andere Kunden zugreifen und arbeiten unabhängig davon, ob sie sich im Büro befinden oder nicht. Ich kann online nichts über diese spezifische Situation finden, also sind alle Ideen willkommen.

3
Ich denke, Sie müssen die FTP-Protokolle des neuen Servers überprüfen, wenn die Verbindung einen Fehler ausgibt. Es klingt wie ein Fehler auf FTP-Ebene, bei dem Inkompatibilitäten zwischen dem Client und dem FTP-Dienst bestehen, mit dem der Client eine Verbindung herzustellen versucht. Suchen Sie auf der FTP-Anbieterseite nach einer neueren Version der Client-Software, da die Lösung möglicherweise so einfach ist wie die Verwendung des neueren Clients auf dem neueren Server. Beachten Sie die Kommentare in diesem Beitrag zu möglichen Problemumgehungen, wenn Sie den Client aktualisieren und bestätigen, dass er nicht inkompatibel ist Problem, das Sie möglicherweise so lösen können: https://github.com/sergi/jsftp/issues/103. Pimp Juice IT vor 7 Jahren 0

3 Antworten auf die Frage

0
Josh

Sie haben erwähnt, dass die Datei 0 Byte lang ist. Haben Sie die Dateiberechtigungen des Verzeichnisses überprüft, in das Ihre Software schreibt?

0
Calum

Ich habe dieses Problem auf der Serverseite behoben. Ich habe festgestellt, dass bei Verbindungen, bei denen ich nicht über die Software hochladen konnte, wenn ich FileZilla verwendete, dies mit "Server hat passive Antwort mit nicht routbarer Adresse gesendet. Stattdessen Serveradresse verwenden." aber ich würde das nicht mit Verbindungen bekommen, bei denen die Software funktionierte.

Also habe ich die IP-Adresse des Servers für den passiven Modus (ForcePassiveIP in pure-ftpd) eingestellt und jetzt funktioniert es wie beabsichtigt.

0
jdango

Wenn Sie VM auf GCP aufrufen, sollten Sie die Firewall-Regeln aktualisieren:

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

Aktualisieren Sie dann FTP, um den passiven Portbereich 60000-65535 zu verwenden. Dann verwenden Sie auf der Clinet-Seite den Passivmodus. Details und Anweisungen - http://sysadm.pp.ua/linux/proftpd-ubuntu-16-04.html