FTP gennem en HTTP-proxy har to forskellige tilstande
Skeln mellem en HTTP-gateway, der henter en FTP-URL, og curl, der taler FTP gennem CONNECT-tunneler.
En FTP-URL bag en HTTP-proxy kan bruge en af disse to ordninger:
| Tilstand | Hvad curl sender |
|---|---|
| HTTP-FTP-gateway | En HTTP-anmodning, der beder proxyen hente FTP-ressourcen. |
| CONNECT-tunnel | Tunnelanmodning, efterfulgt af byte fra den native FTP-protokol gennem den accepterede forbindelse. |
Denne kommando bruger gateway-ordningen:
curl --proxy http://203.0.113.10:8080 \
ftp://files.example.com/report.txtErstat dokumentationsendpointet og filens destination. Som curl-dokumentationen om HTTP-proxy forklarer, taler curl HTTP med proxyen i den tilstand. En vellykket filhentning beviser ikke enhver FTP-specifik handling.
Tilføj --proxytunnel , når tjenesten skal bære native FTP gennem CONNECT. Den skal tillade de nødvendige målforbindelser. FTP har adskilte kontrol- og dataforbindelser, så passive adresser/porte, CONNECT-regler og serverkonfiguration kan bryde en overførsel, efter at login er lykkedes.
Behold det trin, der fejlede: CONNECT-afvisning, FTP-loginfejl eller passiv datafejl. Tjenestespecifikke gateways, der koder en anden destination i USER/PASS, bruger deres egne login-konventioner; de er hverken almindelige HTTP-proxy-legitimationsoplysninger eller SOCKS-forhandling.
Brug den dokumenterede proxytilstand og filtjenestens sikkerhedskonfiguration. En tunnel alene krypterer ikke klartekst-FTP-legitimationsoplysninger eller fildata.