WinSCP FTPS loggar in via proxyn men kan inte lista filer
Kontrollera både den passiva dataanslutningen och kontrollanslutningen när du använder HTTP CONNECT för FTPS.
En FTPS-inloggning bevisar att kontrollanslutningen fungerade. En kataloglista kräver en annan anslutning, så en proxy kan tillåta inloggningen och blockera nästa steg.
För en explicit FTPS-server konfigurerar du kontrollvägen och passivt läge med 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");Inställningen ProxyMethod med värdet 3 väljer HTTP CONNECT. Öppna dessa alternativ genom applikationens vanliga WinSCP Session-livscykel och lägg till råinställningarna ProxyUsername och ProxyPassword när mellanhanden kräver autentisering.
Följ felet vid listningen
Granska sessionsloggen för den förhandlade passiva dataslutpunkten och dess anslutningsfel. Proxyn måste tillåta den destinationen och porten samt FTP-kontrollslutpunkten. En regel som bara tillåter CONNECT till kontrollporten kan därför acceptera inloggningen och avvisa listan.
Att bara ändra kontrollporten åtgärdar inte en blockerad dataväg. Använd den loggade dataslutpunkten när du kontrollerar nätverkspolicyn.
Det här exemplet startar explicit FTPS på port 21 och förhandlar TLS. För en implicit FTPS-slutpunkt använder du motsvarande FtpSecure-läge och serverport. I båda fallen använder du serverns faktiska TLS-värdnamn och konfigurationen för certifikatvalidering.