Я настроил обратный прокси для http с помощью Apache mod_proxy следующим образом:
Клиент>http:/abc.domain1.com>Обратный прокси-сервер>192.168.50.1 (внутренний сервер)
Клиент>http:/def.domain2.com/>Обратный прокси-сервер>192.168.50.2 (еще один внутренний сервер)
Теперь я хочу добиться того же самого для FTP:
Клиент>ftp:/abc.domain1.com/>Обратный прокси-сервер>ftp:/192.168.50.1 (внутренний FTP-сервер)
Клиент>ftp:/def.domain2.com/>Обратный прокси-сервер>ftp:/192.168.50.2 (еще один внутренний FTP-сервер)
Оба внутренних FTP-сервера работают на vsftpd. Пожалуйста, дайте мне знать настройки для Redhat/Centos.
Причина: У меня есть только один публичный IP-адрес.
решение1
Вы можете использовать делегат в качестве обратного FTP-прокси:
http://www.delegate.org/delegate/Manual.htm?serv_FTP
Имя пользователя в формате user@server разбивается на user и server и используется для сопоставления различных серверов.
решение2
Чтобы настроить то, что вы ищете, необходимо решить две проблемы:
- В отличие от http, обратные прокси-серверы для ftp встречаются довольно редко, а те, что существуют (например, старый Suse proxysuite), — если говорить вежливо — не очень-то удобны в настройке и работе.
- В отличие от http 1.1, ftp не имеет никаких положений длявиртуальный хостинг, что означает, что сервер не может видеть имя хоста, с которым вы хотите связаться.
Вот два возможных альтернативных решения, которые относительно легко реализовать, каждое из которых имеет свои преимущества и ограничения.
- обслуживать два внутренних сервера на разных портах (например,ftp://abc.domain1.com/и ftp://def.domain2.com:8021/. довольно легко настроить и не требуется обратный прокси, просто несколько дополнительных портов для переадресации. Недостаток: один из доменов должен будет использовать URL, включающий номер порта, что может быть проблемой для вас, а может и нет.
- CrushFTP— это коммерческий, но доступный по цене сервер для FTP, SFTP и т. д., который можно легко настроить для работы с несколькими бэкэндами несколькими способами:
- как каталоги, что приведет к такой настройкеftp://abc.domain1.com/abcиftp://abc.domain1.com/def.
- показать определенный бэкэнд на основе профиля пользователя, поэтомуftp://abc.domain1.com/будет выглядеть совершенно по-разному в зависимости от того, кто входит в систему.
Мы выбрали вариант 2, потому что в повседневной работе он оказался наиболее гибким и надежным. В качестве дополнительного бонуса он позволяет использовать другие протоколы, помимо ftp, для трафика на ваши бэкэнды, например sftp.
У них есть полностью рабочая демо-версия, которую вы можете загрузить и протестировать (если учесть, что она ограничена 5 одновременными подключениями).
Единственный потенциальный недостаток: это программа на Java, поэтому ее объем (как на диске, так и в памяти) больше, чем у обычного FTP-сервера.
решение3
Как сказал fvu, вы не можете использовать свой http-прокси для маршрутизации ftp.
И самый простой способ — использовать sftp. Но вы можете сделать это с помощью MobaXterm, универсального программного обеспечения для удаленного подключения, которое предоставляет множество функций бесплатно, и еще больше — по правильной цене.
Последний способ продолжить: создать 1folder/server и настроить rsync для использования только интерфейса в качестве FTP.