Обратный прокси-сервер для нескольких внутренних FTP-серверов

Обратный прокси-сервер для нескольких внутренних FTP-серверов

Я настроил обратный прокси для 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 не имеет никаких положений длявиртуальный хостинг, что означает, что сервер не может видеть имя хоста, с которым вы хотите связаться.

Вот два возможных альтернативных решения, которые относительно легко реализовать, каждое из которых имеет свои преимущества и ограничения.

  1. обслуживать два внутренних сервера на разных портах (например,ftp://abc.domain1.com/и ftp://def.domain2.com:8021/. довольно легко настроить и не требуется обратный прокси, просто несколько дополнительных портов для переадресации. Недостаток: один из доменов должен будет использовать URL, включающий номер порта, что может быть проблемой для вас, а может и нет.
  2. CrushFTP— это коммерческий, но доступный по цене сервер для FTP, SFTP и т. д., который можно легко настроить для работы с несколькими бэкэндами несколькими способами:
    1. как каталоги, что приведет к такой настройкеftp://abc.domain1.com/abcиftp://abc.domain1.com/def.
    2. показать определенный бэкэнд на основе профиля пользователя, поэтомуftp://abc.domain1.com/будет выглядеть совершенно по-разному в зависимости от того, кто входит в систему.

Мы выбрали вариант 2, потому что в повседневной работе он оказался наиболее гибким и надежным. В качестве дополнительного бонуса он позволяет использовать другие протоколы, помимо ftp, для трафика на ваши бэкэнды, например sftp.

У них есть полностью рабочая демо-версия, которую вы можете загрузить и протестировать (если учесть, что она ограничена 5 одновременными подключениями).

Единственный потенциальный недостаток: это программа на Java, поэтому ее объем (как на диске, так и в памяти) больше, чем у обычного FTP-сервера.

решение3

Как сказал fvu, вы не можете использовать свой http-прокси для маршрутизации ftp.

И самый простой способ — использовать sftp. Но вы можете сделать это с помощью MobaXterm, универсального программного обеспечения для удаленного подключения, которое предоставляет множество функций бесплатно, и еще больше — по правильной цене.

Последний способ продолжить: создать 1folder/server и настроить rsync для использования только интерфейса в качестве FTP.

Связанный контент