WinSCP FTPS kirjautuu välityspalvelimen kautta mutta ei pysty listaamaan tiedostoja
Tarkista sekä passiivinen datayhteys että ohjausyhteys, kun käytät HTTP CONNECTia FTPS:ssä.
FTPS-kirjautuminen todistaa, että ohjausyhteys toimi. Hakemistolistaus tarvitsee toisen yhteyden, joten välityspalvelin voi sallia kirjautumisen ja estää seuraavan vaiheen.
Määritä eksplisiittiselle FTPS-palvelimelle ohjausreitti ja passiivinen tila WinSCP .NETillä:
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-asetuksen arvo 3 valitsee HTTP CONNECTin. Avaa nämä valinnat sovelluksen tavallisen WinSCP Session -elinkaaren kautta ja lisää raaka-asetukset ProxyUsername ja ProxyPassword, kun välittäjä vaatii todentamista.
Seuraa listauksen epäonnistumista
Etsi istuntolokista neuvoteltu passiivinen datapäätepiste ja sen yhteysvirhe. Välityspalvelimen on sallittava kyseinen kohde ja portti sekä FTP:n ohjauspäätepiste. Siksi sääntö, joka sallii CONNECTin vain ohjausporttiin, voi hyväksyä kirjautumisen ja hylätä listauksen.
Pelkän ohjausportin muuttaminen ei korjaa estettyä datapolkua. Käytä lokiin kirjattua datapäätepistettä verkkokäytäntöä tarkistaessasi.
Tämä esimerkki käynnistää eksplisiittisen FTPS:n portissa 21 ja neuvottelee TLS:n. Implisiittiselle FTPS-päätepisteelle käytä vastaavaa FtpSecure-tilaa ja palvelimen porttia. Käytä molemmissa tapauksissa palvelimen todellista TLS-isäntänimeä ja varmenteen vahvistusasetuksia.