FTP via un proxy HTTP a deux modes différents
Distinguez une passerelle HTTP qui récupère une URL FTP de curl qui parle FTP via des tunnels CONNECT.
Une URL FTP derrière un proxy HTTP peut utiliser l'une de ces deux dispositions :
| Mode | Ce que curl envoie |
|---|---|
| Passerelle FTP HTTP | Une requête HTTP demandant au proxy de récupérer la ressource FTP. |
| Tunnel CONNECT | Requête de tunnel, suivie des octets du protocole FTP natif via la connexion acceptée. |
Cette commande utilise la disposition avec passerelle :
curl --proxy http://203.0.113.10:8080 \
ftp://files.example.com/report.txtRemplacez le point de terminaison de documentation et la destination du fichier. Comme l'explique la documentation de curl sur le proxy HTTP , curl parle HTTP au proxy dans ce mode. Une récupération de fichier réussie ne prouve pas chaque opération propre à FTP.
Ajoutez --proxytunnel lorsque le service est censé transporter du FTP natif via CONNECT. Il doit autoriser les connexions cibles nécessaires. FTP a des connexions de contrôle et de données séparées, donc les adresses/ports passifs, les règles CONNECT et la configuration du serveur peuvent faire échouer un transfert après une connexion réussie.
Conservez l'étape qui a échoué : rejet CONNECT, échec de connexion FTP ou échec des données passives. Les passerelles propres à un service qui encodent une autre destination dans USER/PASS utilisent leurs propres conventions de connexion ; ce ne sont ni des identifiants de proxy HTTP ordinaires ni une négociation SOCKS.
Utilisez le mode proxy documenté et la configuration de sécurité du service de fichiers. Un tunnel seul ne chiffre ni les identifiants FTP en clair ni les données des fichiers.