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 или данные файлов.