ftp over http с авторизацией - proxy_ftp_module?

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
iltmpz
ефрейтор
Сообщения: 58
Зарегистрирован: 2008-11-10 13:10:56

ftp over http с авторизацией - proxy_ftp_module?

Непрочитанное сообщение iltmpz » 2014-04-04 15:24:08

Добрый день!
У меня есть ftp-сервер: ftp.company.com, с авторизацией.

Однако у некоторых клиентов ftp закрыт, а открыт только http.

Появилось желание продублировать доступ на чтение через http://ftp.company.com

Самый простой вариант был бы настроить на apache проброс каталога ftp как:

Код: Выделить всё

<VirtualHost *:80>
    DocumentRoot /ftproot
    ServerName ftp.company.com
</VirtualHost>
Однако при этом придется дублировать фтп-авторизацию для каталогов каждому пользователю средствами apache, что не есть гуд.

Поэтому пришла в голову идея настроить проксирование: апач обращается к локальному ftp, тот отвечает, апач передает ответ пользователю.
Сделал я так:

Код: Выделить всё

<VirtualHost *:80>
    ServerName ftp.company.com

    ProxyPreserveHost On
    ProxyRequests Off
    DefaultType application/octet-stream
    ProxyVia On
    <Location />
        ProxyPass ftp://ftp.company.com/
        ProxyPassReverse ftp://ftp.company.com/
    </Location>
</VirtualHost>
в апаче включено:

Код: Выделить всё

LoadModule proxy_module libexec/apache22/mod_proxy.so
LoadModule proxy_connect_module libexec/apache22/mod_proxy_connect.so
LoadModule proxy_http_module libexec/apache22/mod_proxy_http.so
LoadModule proxy_ftp_module libexec/apache22/mod_proxy_ftp.so
И, почти все работает, но:
1. ссылки имеют формат: http://ftp.company.com/username@/subdir/ - при попытке в нее ткнуть получаем ошибку. Впрочем, не сильно напрягающую, наверняка можно поправить костылем в виде mod_rewrite, если бы не другая проблема:

2. каталоги с пробелами:

Код: Выделить всё

drwxrwxr-x   9 username admins        512 May 21  2010 new folder
тут кликабельна не ссылка "new folder", как было бы логично, а последнее слово: folder.
При этом ссылается оно на http://ftp.company.com/username@/folder/
Вот это очень большая неприятность, похожая на багу proxy_ftp_module - основной вопрос - как ее победить?

Какие есть еще варианты проксирования?
Искал внешний софт, типа веб-интерфейса к фтп, чтобы прицепить его к ftp-локалхосту, а веб вывесить на apache, нашел только net2ftp, но он явно более широкий чем мне надо.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/