• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • mod_proxy_ftp

    描述:用于mod_proxy的 FTP 支持模块
    状态:延期
    模块标识符:proxy_ftp_module
    源文件:mod_proxy_ftp.c

    摘要

    该模块需要mod_proxy的服务。它为代理 FTP 站点提供支持。请注意,FTP 支持目前仅限于 GET 方法。

    因此,为了获得处理 FTP 代理请求的能力,必须在服务器中存在mod_proxy和mod_proxy_ftp。

    警告

    在有保护你的服务器之前不要启用代理。开放代理服务器对您的网络和整个 Internet 都是危险的。

    为什么不通过 FTP 下载文件类型 xxx?

    您可能没有在代理的 mime.types configuration 文件中将该特定文件类型定义为application/octet-stream。一个有用的 line 可以是:

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

    或者,您可能更喜欢使用ForceType 指令指令将所有内容默认为二进制:

    ForceType application/octet-stream
    

    如何强制下载文件 xxx 的 FTP ASCII?

    在极少数情况下,您必须使用 FTP ASCII传输方法下载特定文件(当默认传输处于binary模式时),您可以通过使用;type=a后缀来强制 ASCII 传输来覆盖mod_proxy的默认值。(FTP 目录列表始终以 ASCII 模式执行,however.)

    如何进行 FTP 上传?

    目前,mod_proxy中的 FTP 仅支持 GET。您当然可以通过 Apache 代理使用 HTTP 上传(POST 或 PUT)。

    如何在主目录之外访问 FTP files?

    FTP URI 是相对于 logging 用户的主目录解释的。唉,要达到更高的目录级别,您不能使用/../,因为这些点由浏览器解释而不是实际发送到 FTP 服务器。为了解决这个问题,在 Apache FTP 代理中实现了所谓的 Squid%2f hack;它是一个解决方案,也被其他流行的代理服务器使用,如Squid 代理缓存。通过将/%2f添加到请求的路径,您可以使这样的代理将 FTP 起始目录更改为/(而不是主目录)。例如,要检索文件/etc/motd,您将使用以下 URL:

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

    如何在浏览器的 URL line 中隐藏 FTP 明文密码?

    要通过用户名和密码 log 登录到 FTP 服务器,Apache 使用不同的策略。如果 URL 中没有用户 name 和密码,Apache 会向 FTP 服务器发送匿名登录名 i.e。

    user: anonymous password: apache-proxy@

    这适用于所有配置为匿名访问的流行 FTP 服务器。

    对于具有特定用户名的个人登录,您可以将用户 name 嵌入到 URL 中,如:

    ftp://username@host/myfile

    如果 FTP 服务器在给出此用户名(它应该)时要求输入密码,那么 Apache 将回复401(需要授权)响应,这会导致浏览器弹出 username/password 对话框。输入密码后,将重试连接尝试,如果成功,则会显示所请求的资源。此过程的优点是您的浏览器不会以明文形式显示密码(如果您使用过,则会显示密码)

    ftp://username:password@host/myfile

    首先)。

    注意

    以这种方式传输的密码在途中不会被加密。它在您的浏览器和 Apache 代理服务器之间以 base64-encoded cleartext string 传输,并在 Apache 代理和 FTP 服务器之间以纯文本传输。因此,在通过 HTTP 访问 FTP 服务器之前(或者在通过 FTP 访问个人 files 之前)应该三思而后行!当使用不安全的 channels 时,窃听者可能会在途中拦截您的密码。

    为什么我希望下载文件时会收到文件列表?

    在 order 中允许浏览 FTP 服务器上的目录并下载 files,Apache 查看请求 URL。如果它看起来像一个目录,或者包含通配符(“*?[{~”),那么它会猜测需要列表而不是下载。

    您可以禁用带通配符的名称的特殊处理。请参阅ProxyFtpListOnWildcard指令。

    ProxyFtpDirCharset 指令

    描述:为代理的 FTP 列表定义字符集
    句法:ProxyFtpDirCharset character_set
    默认:ProxyFtpDirCharset ISO-8859-1
    Context:server config,virtual host,目录
    状态:延期
    模块:mod_proxy_ftp
    兼容性:可在 Apache 2.2.7 及更高版本中使用。从 Apache 2.3.5 中的mod_proxy移动。

    ProxyFtpDirCharset指令定义了为mod_proxy_ftp生成的 HTML 中的 FTP 目录列表设置的字符集。

    ProxyFtpEscapeWildcards 指令

    描述:发送到 FTP 服务器时,请求的文件名中的通配符是否被转义
    句法:ProxyFtpEscapeWildcards on\|off
    默认:ProxyFtpEscapeWildcards on
    Context:server config,virtual host,目录
    状态:延期
    模块:mod_proxy_ftp
    兼容性:可在 Apache 2.3.3 及更高版本中使用

    ProxyFtpEscapeWildcards指令控制所请求的文件名中的通配符(“*?[{~”)是否在将它们发送到 FTP 服务器之前使用反斜杠进行转义。这是默认行为,但许多 FTP 服务器不知道转义并尝试提供它们发送的文字文件名,包括名称中的反斜杠。

    设置为“off”以允许从不了解通配符转义的 FTP 服务器下载名称中带有通配符的 files。

    ProxyFtpListOnWildcard 指令

    描述:请求的文件名中的通配符是否触发文件列表
    句法:ProxyFtpListOnWildcard on\|off
    默认:ProxyFtpListOnWildcard on
    Context:server config,virtual host,目录
    状态:延期
    模块:mod_proxy_ftp
    兼容性:可在 Apache 2.3.3 及更高版本中使用

    ProxyFtpListOnWildcard指令控制是否使用通配符(“*?[{~")in requested filenames cause mod_proxy_ftp”_返回 files 列表而不是下载文件。默认情况下(value on),它们会执行。

    设置为“off”以允许下载 files,即使它们的名称中包含通配符。