У нас есть FTP-сайт IIS на машине с Windows Server 2003 x64.
Служба шлюза уровня приложения отключена (поэтому http://support.microsoft.com/kb/931130 не применяется). Служба брандмауэра Windows также отключена. Тайм-аут подключения к FTP-сайту (есть только один) установлен на 1200 секунд = 20 минут.
Внешний клиент может подключаться к сайту, просматривать содержимое каталога и загружать небольшие файлы. Когда клиент пытается загрузить большой файл (например, если загрузка продолжается в течение 3 минут, что все еще меньше 20 минут, но относительно долго), сервер отправляет все данные, затем время ожидания соединения истекает, клиент выдает REST / RETR команды, пытающиеся перезапустить загрузку после последнего байта (который, как я считаю, должен быть успешным и получить ровно 0 байт), и сервер ведет себя так, как если бы клиент пытался перезапустить после байта 0, то есть он отправляет весь файл целиком.
Есть какие нибудь идеи как это починить?
Попробуйте загрузить файл с самого сервера, а затем попробуйте загрузить файл из той же сети, что и сервер. Если он работает на сервере, у вас может быть проблема с сетью, если он работает из сети, у вас может быть проблема с брандмауэром или маршрутизатором.