FTP през HTTP прокси има два различни режима
Разграничете HTTP шлюза, който извлича FTP адрес, от curl, който говори FTP през CONNECT тунели.
FTP адрес зад HTTP прокси може да използва една от тези две схеми:
| Режим | Какво изпраща curl |
|---|---|
| HTTP FTP шлюз | HTTP заявка, която моли проксито да извлече FTP ресурса. |
| Тунелиране през CONNECT | Заявка за тунел, последвана от байтове на родния FTP протокол през приетото съединение. |
Тази команда използва схемата с шлюз:
curl --proxy http://203.0.113.10:8080 \
ftp://files.example.com/report.txtЗаменете документационната крайна точка и местоназначението на файла. Както обяснява документацията на curl за HTTP прокси , в този режим curl говори HTTP с проксито. Успешното извличане на файл не установява всяка FTP-специфична операция.
Добавете --proxytunnel , когато услугата е предназначена да пренася роден FTP през CONNECT. Тя трябва да разрешава необходимите връзки към целта. FTP има отделни контролна и данни връзки, така че пасивните адреси/портове, правилата за CONNECT и конфигурацията на сървъра могат да прекъснат трансфера след успешен вход.
Запазете етапа на неуспеха: отказ на CONNECT, неуспешен вход в FTP или неуспех на пасивните данни. Шлюзовете, специфични за услугата, които кодират друга дестинация в USER/PASS, използват свои собствени конвенции за вход; те не са нито обикновени HTTP прокси идентификационни данни, нито SOCKS преговори.
Използвайте документирания режим на проксито и настройките за сигурност на файловата услуга. Само тунел не криптира открити FTP идентификационни данни или файлови данни.