WinSCP FTPS входить через проксі, але не може показати список файлів
Перевіряйте і пасивне з'єднання даних, і з'єднання керування, коли використовуєте HTTP CONNECT для FTPS.
Вхід через 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 сервера та налаштування перевірки сертифіката.