FTP über einen HTTP-Proxy hat zwei verschiedene Modi
Unterscheiden Sie ein HTTP-Gateway, das eine FTP-URL abruft, von curl, das FTP über CONNECT-Tunnel spricht.
Eine FTP-URL hinter einem HTTP-Proxy kann eine dieser beiden Anordnungen verwenden:
| Modus | Was curl sendet |
|---|---|
| HTTP-FTP-Gateway | Eine HTTP-Anfrage, die den Proxy bittet, die FTP-Ressource abzurufen. |
| CONNECT-Tunnelung | Tunnelanfrage, gefolgt von Bytes des nativen FTP-Protokolls über die angenommene Verbindung. |
Dieser Befehl verwendet die Gateway-Anordnung:
curl --proxy http://203.0.113.10:8080 \
ftp://files.example.com/report.txtErsetzen Sie den Dokumentationsendpunkt und das Dateiziel. Wie die curl-Dokumentation zum HTTP-Proxy erklärt, spricht curl in diesem Modus HTTP mit dem Proxy. Ein erfolgreicher Dateiabruf belegt nicht jede FTP-spezifische Operation.
Fügen Sie --proxytunnel hinzu, wenn der Dienst natives FTP über CONNECT übertragen soll. Er muss die nötigen Zielverbindungen zulassen. FTP hat getrennte Steuer- und Datenverbindungen, daher können passive Adressen/Ports, CONNECT-Regeln und die Serverkonfiguration eine Übertragung nach erfolgreichem Login scheitern lassen.
Behalten Sie die fehlgeschlagene Stufe bei: CONNECT-Ablehnung, FTP-Login-Fehler oder Fehler der passiven Daten. Dienstspezifische Gateways, die ein anderes Ziel in USER/PASS kodieren, verwenden eigene Login-Konventionen; sie sind weder gewöhnliche HTTP-Proxy-Anmeldedaten noch SOCKS-Verhandlung.
Verwenden Sie den dokumentierten Proxy-Modus und die Sicherheitskonfiguration des Dateidienstes. Ein Tunnel allein verschlüsselt weder Klartext-FTP-Anmeldedaten noch Dateidaten.