Вы упомянули, что файл имеет размер 0 байт и время ожидания истекло. Вы проверили права доступа к файлу каталога, в который записывается ваше программное обеспечение?
Сбой загрузки через FTP, кроме одного места
Я пытаюсь перенести сайт с одного сервера на другой, и у меня проблема с FTP на новом сервере. На сайте есть контент, переданный ему по FTP с помощью собственного программного обеспечения, я знаю, что использование FTP крайне нежелательно, но пока у меня нет выбора в этом вопросе. Я настроил FTP достаточно хорошо и могу успешно передавать файлы с помощью терминальных клиентов FileZilla, CyberDuck и ftp, но с помощью нашего программного обеспечения он будет входить в систему, создавать файл размером 0 байт и время ожидания (ETIMEDOUT) каждый раз, кроме случаев использования сети в мой кабинет. Я проверил это с 4G ключами, через VPN, дома и т. Д., И он потерпит неудачу.
Ftp- клиент, используемый в нашем программном обеспечении, - это jsftp, который работает только в пассивном режиме, поэтому переключение на активное невозможно. Программное обеспечение работает на MacOS.
Предыдущий сервер достаточно хорошо работает из любого места, это общий компьютер Debian MediaTemple, который использовал чистый ftpd. Новый сервер, на который я перехожу, работает под управлением Ubuntu 16.04 и размещается на Google Cloud Platform. Я использовал как vsftpd, так и pure-ftpd. Я попытался использовать другой сервер Google Cloud, настроенный в моей личной учетной записи, и возникли те же проблемы.
Я не могу понять, в чем проблема в этом, программное обеспечение прекрасно работает на старом сервере и при использовании в офисе также прекрасно работает на серверах Google. К серверам Google также могут обращаться многочисленные другие клиенты, которые работают независимо от того, находятся они в офисе или нет. Я не могу найти в Интернете ничего об этой конкретной ситуации, поэтому любые идеи приветствуются.
3 ответа на вопрос
Я исправил эту проблему на стороне сервера. Я заметил, что на соединениях, где я не могу загрузить через программное обеспечение, если я использую FileZilla, он будет возвращать сообщение «Сервер отправил пассивный ответ с не маршрутизируемым адресом. Вместо этого используется адрес сервера». но я не получил бы это с соединениями, где работало программное обеспечение.
Поэтому я установил IP-адрес сервера для пассивного режима (ForcePassiveIP в чистом ftpd), и теперь он работает как задумано.
Когда вы запускаете VM на GCP, вы должны обновить правила брандмауэра:
- IN: TCP 20,21,60000-65535
- OUT: TCP 20,21,60000-65535
Затем обновите FTP, чтобы использовать пассивный диапазон портов 60000-65535. Затем на стороне клинета используйте пассивный режим. Подробности и инструкция - http://sysadm.pp.ua/linux/proftpd-ubuntu-16-04.html
Похожие вопросы
-
5
Какой смысл режима ASCII в FTP?
-
3
Сбой FTP «PUT» на виртуальной машине, но не на хост-ПК: 504 Команда не реализована для этого парамет...
-
6
Как я могу заставить FileZilla игнорировать папки или файлы (такие как .svn или CVS)?
-
-
9
Могу ли я загрузить файл на свой компьютер из telnet (putty)?
-
2
Почему я не могу использовать свой собственный ftp.exe?
-
9
Есть хороший FTP-клиент для 9-дюймового нетбука?
-
3
Я только начал использовать новый модем, и теперь все мои клиенты FTP не будут работать
-
2
Как заставить Emacs запоминать мои FTP-логины (в Windows)
-
5
Бесплатная программа для синхронизации папок с FTP?
-
5
Одновременный доступ по FTP