描述: | FTP支持模块
mod_proxy |
---|---|
状态: | 延期 |
模块标识符: | proxy_ftp_module |
源文件: | mod_proxy_ftp.c |
此模块需要的服务mod_proxy
。它为代理FTP站点提供支持。请注意,FTP支持当前仅限于GET方法。
因此,为了得到处理FTP代理请求的能力,
mod_proxy
并且mod_proxy_ftp
必须存在于服务器中。
在确保服务器安全之前,请勿启用代理。开放式代理服务器对您的网络和整个Internet都是危险的。
您可能没有application/octet-stream
在代理的mime.types配置文件中定义该特定文件类型
。有用的行可以是:
application/octet-stream bin dms lha lzh exe class tgz taz
另外,您可能更喜欢使用ForceType
指令将所有内容默认为二进制:
ForceType application/octet-stream
在极少数情况下,您必须使用FTP ASCII
传输方法下载特定文件(默认传输处于
binary
模式下),您可以mod_proxy
通过在请求后缀后;type=a
强制ASCII传输来覆盖的默认值。(但是,FTP目录列表始终以ASCII模式执行。)
FTP URI是相对于登录用户的主目录来解释的。A,要进入更高的目录级别,您不能使用/../,因为这些点是由浏览器解释的,实际上并未发送给FTP服务器。为了解决这个问题,在Apache FTP代理中实现了所谓的Squid%2f hack;这是一个解决方案,其他流行的代理服务器(如Squid Proxy Cache)也使用了该解决方案。通过添加/%2f
请求的路径,您可以使这样的代理将FTP起始目录更改为/
(而不是主目录)。例如,要检索文件
/etc/motd
,可以使用URL:
ftp://user@host/%2f/etc/motd
要通过用户名和密码登录FTP服务器,Apache使用不同的策略。在网址中完全没有用户名和密码的情况下,Apache将匿名登录发送到FTP服务器, 即,
user: anonymous
password: apache-proxy@
这适用于所有配置为匿名访问的流行FTP服务器。
对于使用特定用户名的个人登录,您可以将用户名嵌入URL中,例如:
ftp://username@host/myfile
如果FTP服务器在提供该用户名时要求输入密码(应该如此),则Apache将以401
(需要授权)响应进行响应,这将导致浏览器弹出用户名/密码对话框。输入密码后,将重试连接尝试,如果成功,将显示请求的资源。此过程的优点在于,浏览器不会以明文形式显示密码(如果您使用过,则不会显示该密码)。
ftp://username:password@host/myfile
首先)。
以这种方式发送的密码在其途中未加密。它以base64编码的明文字符串在浏览器和Apache代理服务器之间传播,在Apache代理和FTP服务器之间以纯文本形式传播。因此,在通过HTTP访问FTP服务器之前(或完全通过FTP访问个人文件之前),您应该三思而后行。当使用不安全的通道时,窃听者可能会在途中拦截您的密码。
为了既浏览FTP服务器上的目录又下载文件,Apache会查看请求URL。如果它看起来像一个目录,或者包含通配符(“ *?[{〜”),那么它猜测是需要列表而不是下载列表。
您可以禁用通配符对名称的特殊处理。参见ProxyFtpListOnWildcard
指令。
描述: | 定义代理FTP列表的字符集 |
---|---|
句法: | ProxyFtpDirCharset character_set |
默认: | ProxyFtpDirCharset ISO-8859-1 |
内容: | 服务器配置,虚拟主机,目录 |
状态: | 延期 |
模块: | mod_proxy_ftp |
兼容性: | 在Apache 2.2.7和更高版本中可用。从mod_proxy Apache 2.3.5中移出。 |
该ProxyFtpDirCharset
指令定义的字符集通过生成HTML FTP目录列表进行设置
mod_proxy_ftp
。
描述: | 发送到FTP服务器时,请求的文件名中的通配符是否转义 |
---|---|
句法: | ProxyFtpEscapeWildcards on|off |
默认: | ProxyFtpEscapeWildcards on |
内容: | 服务器配置,虚拟主机,目录 |
状态: | 延期 |
模块: | mod_proxy_ftp |
兼容性: | 在Apache 2.3.3和更高版本中可用 |
该ProxyFtpEscapeWildcards
指令控制在将请求的文件名中的通配符(“ *?[{〜”)发送到FTP服务器之前,是否使用反斜杠对其进行转义。这是默认行为,但是许多FTP服务器不知道转义,而是尝试提供发送的原义文件名,包括名称中的反斜杠。
设置为“关闭”以允许从不理解通配符转义的FTP服务器下载名称中带有通配符的文件。
描述: | 请求的文件名中的通配符是否触发文件列表 |
---|---|
句法: | ProxyFtpListOnWildcard on|off |
默认: | ProxyFtpListOnWildcard on |
内容: | 服务器配置,虚拟主机,目录 |
状态: | 延期 |
模块: | mod_proxy_ftp |
兼容性: | 在Apache 2.3.3和更高版本中可用 |
该ProxyFtpListOnWildcard
指令控制请求的文件名中的通配符(“ *?[{〜”)是否导致mod_proxy_ftp
返回文件列表,而不是下载文件。默认情况下(启用该功能)。
设置为“关”以允许下载文件,即使文件名中包含通配符。