WinSCP FTPS meldet sich über den Proxy an, kann aber keine Dateien auflisten
Prüfen Sie bei HTTP CONNECT für FTPS sowohl die passive Datenverbindung als auch die Steuerverbindung.
Eine FTPS-Anmeldung belegt, dass die Steuerverbindung funktioniert hat. Eine Verzeichnisauflistung braucht eine weitere Verbindung, daher kann ein Proxy die Anmeldung erlauben und den nächsten Schritt blockieren.
Für einen expliziten FTPS-Server konfigurieren Sie die Steuerroute und den passiven Modus mit 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");Die Einstellung ProxyMethod mit dem Wert 3 wählt HTTP CONNECT. Öffnen Sie diese Optionen über den normalen WinSCP-Session-Lebenszyklus der Anwendung und ergänzen Sie die Roh-Einstellungen ProxyUsername und ProxyPassword, wenn der Vermittler eine Authentifizierung verlangt.
Der Auflistungsfehler nachverfolgen
Prüfen Sie im Sitzungsprotokoll den ausgehandelten passiven Datenendpunkt und seinen Verbindungsfehler. Der Proxy muss dieses Ziel und diesen Port sowie den FTP-Steuerendpunkt zulassen. Eine Regel, die CONNECT nur zum Steuerport erlaubt, kann daher die Anmeldung annehmen und die Auflistung ablehnen.
Nur den Steuerport zu ändern, behebt keinen blockierten Datenpfad. Prüfen Sie die Netzwerkrichtlinie mit dem protokollierten Datenendpunkt.
Dieses Beispiel startet explizites FTPS auf Port 21 und handelt TLS aus. Für einen impliziten FTPS-Endpunkt verwenden Sie den passenden FtpSecure-Modus und Serverport. Verwenden Sie in beiden Fällen den tatsächlichen TLS-Hostnamen des Servers und die Konfiguration zur Zertifikatsprüfung.