Назад | Перейти на главную страницу

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

Я установил обратный прокси для http, используя Apache mod_proxy следующим образом:

Теперь я хочу добиться того же и для FTP:

Оба внутренних FTP-сервера работают под управлением vsftpd. Пожалуйста, дайте мне знать о настройке Redhat / Centos.

Причина: у меня доступен только один общедоступный IP-адрес.

При настройке того, что вы ищете, возникают две проблемы:

  • В отличие от http, обратные прокси для ftp - довольно редкая порода, и те, которые существуют (например, старый прокси Suse), - чтобы оставаться вежливым - на самом деле не доставляют удовольствия настраивать и работать с ними.
  • в отличие от 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.

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

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

Вы можете использовать делегата в качестве обратного FTP-прокси:

http://www.delegate.org/delegate/Manual.htm?serv_FTP

Имя пользователя как user @ server разбивается на пользователя и сервер и используется для сопоставления разных серверов.

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

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

Последний способ продолжить: создать 1 папку / сервер и настроить rsync на использование только внешнего интерфейса в качестве ftp.