Назад | Перейти на главную страницу

Странное повреждение файла при использовании FTP. Есть теории?

Иногда, когда я загружаю через FTP большое количество небольших файлов, часть содержимого файлов заменяется управляющими сообщениями FTP. Например, после загрузки веб-сайта я заметил, что изображение не отображается. Когда я просматриваю изображение на сервере, я обнаруживаю, что его содержимое было заменено чем-то вроде

Response:   125 Data connection already open; Transfer starting.
Response:   226 Transfer complete.
Status:     Directory listing successful

Воспроизвести очень сложно. Любые поврежденные файлы, которые я замечаю, я обычно могу просто повторно передать. Если я повторно перенесу весь сайт, возможно, будут повреждены разные файлы, а может и вообще ни одного.

Эта проблема преследует меня несколько лет, и за это время я заменил свой компьютер (дважды), маршрутизатор, кабельный модем и переехал через половину страны. В последнее время у меня не было этой проблемы, но это, вероятно, только потому, что я научился ее избегать, например, заархивировать все, прежде чем передавать. Кстати, я использую FileZilla.

Однажды я описал проблему одному из своих хостов. Они никогда ничего подобного не слышали, понятия не имели. Я хотел бы знать, что происходит. На самом деле, я очень подозрительно отношусь к использованию FTP для чего-либо, кроме нескольких файлов.

Очень просто: вселенная (и / или Мерфи) наказывает вас за то, что вы продолжаете использовать полностью устаревший и небезопасный протокол, такой как FTP.

Когда вы подключаетесь к своему веб-серверу через FTP, ваше имя пользователя и пароль отправляются в незашифрованном виде в открытом виде, чтобы все и Большой Брат могли их прочитать. Как и содержимое всех файлов, которые вы загружаете или скачиваете по FTP. Только по соображениям безопасности я настоятельно рекомендую перейти на SFTP, который является встроенной функцией SSH. Любой провайдер веб-хостинга, достойный вашего бизнеса, поддерживает SSH и SFTP.

Любые проблемы с FTP, которые могут возникнуть на стороне сервера, почти наверняка не будут применяться при использовании SFTP, потому что SFTP-соединения обрабатываются полностью отдельным демоном / службой на сервере.

В отличие от FTPS, FTPES и т. Д., Реализации SSH / SFTP очень совместимы. У вас вряд ли возникнут странные и непредсказуемые проблемы при передаче файлов по SFTP.

Мои деньги связаны с ошибкой FTP-сервера (проблема вашего хоста). Убедитесь, что вы используете последнюю версию FileZilla, и настройте ее для регистрации всех ваших FTP-сессий, чтобы в случае обнаружения этого повреждения вы могли предоставить хосту журнал сеанса. Это может помочь им в устранении неполадок.

Если у вас есть доступ к оболочке вашего хоста, вы можете вместо этого использовать SCP.

на всякий случай я бы удостоверился, что для передачи установлено значение «двоичный», иногда он передает файлы в режиме ASCII, и именно здесь вы обычно получаете так сказать повреждение, поэтому попробуйте, если это не решит вашу проблему, тогда я d изучить возможность замены / обновления вашего сервера и клиента, и если это тоже не помогает, посмотрите интерфейс, если вы получаете там ошибки ...

для меня это было из-за режима передачи, установленного на ASCII в filezilla, я установил Transfer -> Transfer type -> Auto (чтобы убедиться, что он использует двоичный режим, когда это необходимо)

это решило мою проблему. Надеюсь, это поможет и вам, ребята.

Возможный корень вашей проблемы (и многие другие подобные проблемы с поврежденными файлами):

недопустимые фрагменты из-за дублирования данных в файле (например, много нулей)


и / или что-то еще:

- связанные с конфигурацией сети (размер MTU ?!)

- устаревшее серверное ПО (несколько лет назад в Debian была ошибка, связанная с этой проблемой)

- не используется двоичный режим


Обходные пути:

  1. Как уже упоминалось другими, переключитесь на SFTP - шифрование минимизирует дублирование пакетов / фрагментов.

  2. Включите сжатие в вашем клиенте - как и в варианте 1, сжатие будет делать то же самое.


Билет FileZilla (6 лет): https://trac.filezilla-project.org/ticket/4672