Вход по FTPS доказывает, что управляющее соединение работает. Для списка каталога нужно другое соединение, поэтому прокси может разрешить вход и заблокировать следующий шаг.

Для сервера с явным FTPS настройте управляющий маршрут и пассивный режим в WinSCP .NET:

var options = new WinSCP.SessionOptions
{
    Protocol = WinSCP.Protocol.Ftp,
    HostName = "ftp.example.net",
    PortNumber = 21,
    UserName = ftpUser,
    Password = ftpPassword,
    FtpSecure = WinSCP.FtpSecure.Explicit,
    FtpMode = WinSCP.FtpMode.Passive
};

options.AddRawSettings("ProxyMethod", "3");
options.AddRawSettings("ProxyHost", "proxy.example.net");
options.AddRawSettings("ProxyPort", "8080");

Параметр ProxyMethod со значением 3 выбирает HTTP CONNECT. Открывайте эти параметры через обычный жизненный цикл Session в приложении WinSCP и добавьте необработанные настройки ProxyUsername и ProxyPassword, если посредник требует аутентификацию.

Проследите сбой списка

В журнале сеанса найдите согласованную пассивную конечную точку данных и ошибку её подключения. Прокси должен разрешать этот адрес и порт, а также управляющую конечную точку FTP. Поэтому правило, разрешающее CONNECT только к управляющему порту, может принять вход и отклонить список.

Изменение только управляющего порта не исправит заблокированный путь данных. При проверке сетевой политики используйте конечную точку данных из журнала.

В этом примере явный FTPS запускается на порту 21 и согласует TLS. Для неявной конечной точки FTPS используйте соответствующий режим FtpSecure и порт сервера. В обоих случаях используйте фактическое имя узла TLS сервера и настройки проверки сертификата.

Похожие статьи