WinSCP FTPS se přihlásí přes proxy, ale nedokáže vypsat soubory
Při použití HTTP CONNECT pro FTPS zkontrolujte pasivní datové spojení i řídicí spojení.
Přihlášení přes FTPS dokazuje, že řídicí spojení fungovalo. Výpis adresáře potřebuje další spojení, takže proxy může přihlášení povolit a další krok zablokovat.
Pro server s explicitním FTPS nastavte řídicí trasu a pasivní režim pomocí 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");Nastavení ProxyMethod s hodnotou 3 volí HTTP CONNECT. Tyto volby otevírejte přes běžný životní cyklus WinSCP Session v aplikaci a přidejte surová nastavení ProxyUsername a ProxyPassword, pokud zprostředkovatel vyžaduje ověření.
Sledujte selhání výpisu
V protokolu relace najděte vyjednaný pasivní datový koncový bod a jeho selhání připojení. Proxy musí povolit tento cíl a port i řídicí koncový bod FTP. Pravidlo, které povoluje CONNECT jen na řídicí port, proto může přihlášení přijmout a výpis odmítnout.
Změna pouze řídicího portu neopraví zablokovanou datovou cestu. Při kontrole síťové politiky použijte datový koncový bod z protokolu.
Tento příklad spouští explicitní FTPS na portu 21 a vyjednává TLS. Pro implicitní FTPS použijte odpovídající režim FtpSecure a port serveru. V obou případech použijte skutečné jméno hostitele TLS serveru a konfiguraci ověřování certifikátů.