WinSCP FTPS inicia sesión a través do proxy pero non pode listar ficheiros
Comprobe a conexión de datos pasiva e tamén a conexión de control cando use HTTP CONNECT para FTPS.
Un inicio de sesión FTPS demostra que a conexión de control funcionou. Unha listaxe de directorio necesita outra conexión, así que un proxy pode permitir o inicio de sesión e bloquear o paso seguinte.
Para un servidor FTPS explícito, configure a ruta de control e o modo pasivo con 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");A configuración ProxyMethod co valor 3 selecciona HTTP CONNECT. Abra estas opcións mediante o ciclo de vida normal de WinSCP Session da aplicación e engada os axustes en bruto ProxyUsername e ProxyPassword cando o intermediario esixa autenticación.
Segue o fallo da listaxe
Revise o rexistro da sesión para ver o punto final de datos pasivo negociado e o seu erro de conexión. O proxy debe permitir ese destino e ese porto, ademais do punto final de control FTP. Por iso, unha regra que só permita CONNECT ao porto de control pode aceptar o inicio de sesión e rexeitar a listaxe.
Cambiar só o porto de control non arranxa unha ruta de datos bloqueada. Use o punto final de datos rexistrado ao revisar a política de rede.
Este exemplo inicia FTPS explícito no porto 21 e negocia TLS. Para un punto final FTPS implícito, use o modo FtpSecure correspondente e o porto do servidor. En ambos os casos, use o nome de host TLS real do servidor e a configuración de validación de certificados.