WinSCP FTPS inicia sessió a través del proxy però no pot llistar fitxers
Comproveu la connexió de dades passiva i també la connexió de control quan feu servir HTTP CONNECT per a FTPS.
Un inici de sessió FTPS demostra que la connexió de control ha funcionat. Un llistat de directori necessita una altra connexió, de manera que un proxy pot permetre l'inici de sessió i bloquejar el pas següent.
Per a un servidor FTPS explícit, configureu la ruta de control i el mode passiu amb 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 con el valor 3 selecciona HTTP CONNECT. Obriu aquestes opcions a través del cicle de vida normal de WinSCP Session de l'aplicació i afegiu els paràmetres raw ProxyUsername i ProxyPassword quan l'intermediari requereixi autenticació.
Seguiu el fallada del llistat
Reviseu el registre de la sessió per trobar el punt final de dades passiu negociat i el seu error de connexió. El proxy ha de permetre aquesta destinació i aquest port, així com el punt final de control FTP. Per tant, una regla que només permeti CONNECT al port de control pot acceptar l'inici de sessió i rebutjar el llistat.
Canviar només el port de control no pot arreglar un camí de dades bloquejat. Feu servir el punt final de dades registrat quan reviseu la política de xarxa.
Aquest exemple inicia FTPS explícit al port 21 i negocia TLS. Per a un punt final FTPS implícit, feu servir el mode FtpSecure corresponent i el port del servidor. En tots dos casos, feu servir el nom d'amfitrió TLS real del servidor i la configuració de validació de certificats.