FTP via een HTTP-proxy heeft twee verschillende modi
Onderscheid een HTTP-gateway die een FTP-URL ophaalt van curl die FTP spreekt via CONNECT-tunnels.
Een FTP-URL achter een HTTP-proxy kan een van deze twee opstellingen gebruiken:
| Modus | Wat curl verstuurt |
|---|---|
| HTTP-FTP-gateway | Een HTTP-verzoek dat de proxy vraagt de FTP-bron op te halen. |
| CONNECT-tunnel | Tunnelverzoek, gevolgd door bytes van het native FTP-protocol via de geaccepteerde verbinding. |
Dit commando gebruikt de gateway-opstelling:
curl --proxy http://203.0.113.10:8080 \
ftp://files.example.com/report.txtVervang het documentatie-eindpunt en de bestemming van het bestand. Zoals de curl-documentatie over HTTP-proxy's uitlegt, spreekt curl in die modus HTTP met de proxy. Een geslaagde bestandsdownload bewijst niet elke FTP-specifieke bewerking.
Voeg --proxytunnel toe wanneer de dienst bedoeld is om native FTP via CONNECT te vervoeren. Die moet de nodige doelverbindingen toestaan. FTP heeft gescheiden controle- en dataverbindingen, dus passieve adressen/poorten, CONNECT-regels en serverconfiguratie kunnen een overdracht breken nadat het inloggen is geslaagd.
Houd de mislukte fase vast: CONNECT-weigering, FTP-inlogfout of fout bij passieve data. Dienstspecifieke gateways die een andere bestemming in USER/PASS coderen, gebruiken hun eigen inlogconventies; dat zijn geen gewone HTTP-proxyreferenties en ook geen SOCKS-onderhandeling.
Gebruik de gedocumenteerde proxymodus en de beveiligingsconfiguratie van de bestandsdienst. Een tunnel alleen versleutelt geen platte FTP-referenties of bestandsgegevens.