Spec-Zone.ru › Apache HTTP Server

Модуль Apache mod_proxy_ftp

Описание: Модуль поддержки FTP для mod_proxy
Статус: Расширение
Идентификатор модуля: proxy_ftp_module
Файл исходного кода: mod_proxy_ftp.c

Обзор

Этот модуль требует сервиса mod_proxy. Он предоставляет поддержку проксирования FTP-сайтов. Обратите внимание, что поддержка FTP в настоящее время ограничена методом GET.

Таким образом, для получения возможности обработки запросов FTP-прокси mod_proxy и mod_proxy_ftp должны быть присутствовать в сервере.

Предупреждение

Не активируйте проксирование, пока не обезопасите свой сервер. Открытые прокси-серверы представляют опасность как для вашей сети, так и для Интернета в целом.

Почему тип файла xxx не загружается через FTP?

Вероятно, у вас не определен данный тип файла как application/octet-stream в файле конфигурации mime.types вашего прокси. Полезной строкой может быть:

application/octet-stream   bin dms lha lzh exe class tgz taz

В качестве альтернативы вы можете использовать директиву ForceType для установки по умолчанию двоичного формата:

ForceType application/octet-stream

Как можно принудительно загрузить файл xxx через FTP в ASCII-режиме?

В редких случаях, когда необходимо загрузить определенный файл с использованием метода FTP ASCII передачи (в то время как по умолчанию используется режим binary), можно переопределить поведение mod_proxy по умолчанию, добавив к запросу суффикс ;type=a для принудительного переключения на ASCII-передачу. (Однако списки каталогов FTP всегда выполняются в ASCII-режиме.)

Как выполнить загрузку файлов через FTP?

В настоящее время для FTP в mod_proxy поддерживается только метод GET. Вы, конечно, можете использовать HTTP-загрузку (POST или PUT) через прокси Apache.

Как получить доступ к файлам FTP вне домашнего каталога?

FTP-URI интерпретируется относительно домашнего каталога пользователя, который входит в систему. К сожалению, для доступа к более высоким уровням каталогов нельзя использовать /../, так как точки интерпретируются браузером, а не отправляются на FTP-сервер. Для решения этой проблемы в прокси FTP Apache реализован так называемый хак Squid %2f, являющийся решением, которое также используется другими популярными прокси-серверами, например, Squid Proxy Cache. Добавив /%2f к пути вашего запроса, вы можете изменить начальный каталог FTP на / (вместо домашнего каталога). Например, для получения файла /etc/motd, вы бы использовали URL:

ftp://user@host/%2f/etc/motd

Как скрыть пароль FTP в текстовом формате в строке URL браузера?

Для входа на FTP-сервер с помощью имени пользователя и пароля Apache использует различные стратегии. При отсутствии имени пользователя и пароля в URL Apache отправляет анонимный вход на FTP-сервер, т.е.,

user: anonymous
password: apache-proxy@

Это работает для всех популярных FTP-серверов, настроенных на анонимный доступ.

Для личного входа с конкретным именем пользователя вы можете встроить имя пользователя в URL, как в:

ftp://username@host/myfile

Если FTP-сервер запросит пароль при указании этого имени пользователя (что должно быть), тогда Apache ответит с сообщением 401 (требуется авторизация), что заставит браузер отобразить диалоговое окно для ввода имени пользователя и пароля. После ввода пароля попытка соединения повторяется, и при успехе запрашиваемый ресурс отображается. Преимущество этого процесса заключается в том, что ваш браузер не отображает пароль в открытом виде (в отличие от того, если бы вы использовали

ftp://username:password@host/myfile

в первую очередь).

Примечание

Пароль, передаваемый таким образом, не шифруется на пути. Он передается между вашим браузером и прокси-сервером Apache в виде закодированной в base64 строки в открытом виде и между прокси-сервером Apache и FTP-сервером в виде открытого текста. Поэтому следует дважды подумать перед доступом к вашему FTP-серверу через HTTP (или перед доступом к вашим личным файлам через FTP вообще!) При использовании небезопасных каналов злоумышленник может перехватить ваш пароль по пути.

Почему я получаю список файлов, а не скачивание файла?

Для того, чтобы разрешить как просмотр каталогов на FTP-сервере, так и загрузку файлов, Apache анализирует URL-запрос. Если он выглядит как каталог или содержит символы подстановки ("*?[{~"), Apache предполагает, что требуется список, а не загрузка.

Вы можете отключить специальную обработку имен с символами подстановки. См. директиву ProxyFtpListOnWildcard.

Директива ProxyFtpDirCharset

Описание: Определить кодировку символов для списков проксированных FTP-каталогов
Синтаксис:
ProxyFtpDirCharset character_set
Значение по умолчанию:
ProxyFtpDirCharset ISO-8859-1
Контекст: конфигурация сервера, виртуальный хост, каталог
Статус: Расширение
Модуль: mod_proxy_ftp
Совместимость: Доступно в Apache 2.2.7 и более поздних версиях. Перемещено из mod_proxy в Apache 2.3.5.

Директива ProxyFtpDirCharset определяет кодировку символов для списков каталогов FTP в HTML, генерируемых mod_proxy_ftp.

Директива ProxyFtpEscapeWildcards

Описание: Указывает, нужно ли экранировать символы подстановки в именах файлов, запрашиваемых по имени
Синтаксис:
ProxyFtpEscapeWildcards on|off
Значение по умолчанию:
ProxyFtpEscapeWildcards on
Контекст: конфигурация сервера, виртуальный хост, каталог
Статус: Расширение
Модуль: mod_proxy_ftp
Совместимость: Доступно в Apache 2.3.3 и более поздних версиях

Директива ProxyFtpEscapeWildcards управляет тем, экранируются ли символы подстановки ("*?[{~") в запрашиваемых именах файлов с помощью обратного слеша перед отправкой на FTP-сервер. Это по умолчанию, но многие FTP-серверы не понимают экранирования и пытаются обслужить фактические имена файлов, включая обратные слеши в именах.

Установите «выкл.» для разрешения загрузки файлов с символами подстановки в их именах с FTP-серверов, которые не понимают экранирования символов подстановки.

Директива ProxyFtpListOnWildcard

Описание: Указывает, вызывают ли символы подстановки в именах файлов запрос списка файлов
Синтаксис:
ProxyFtpListOnWildcard on|off
Значение по умолчанию:
ProxyFtpListOnWildcard on
Контекст: конфигурация сервера, виртуальный хост, каталог
Статус: Расширение
Модуль: mod_proxy_ftp
Совместимость: Доступно в Apache 2.3.3 и более поздних версиях

Директива ProxyFtpListOnWildcard управляет тем, вызывают ли символы подстановки ("*?[{~") в именах файлов mod_proxy_ftp возврат списка файлов вместо загрузки файла. По умолчанию (включено), они делают это.

Установите «выкл.» для разрешения загрузки файлов даже если они содержат символы подстановки в своих именах.

© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mod_proxy_ftp.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API