<-
Apache > HTTP Server > 文件 > 2.4 版本 > 模組

Apache 模組 mod_proxy_ftp

適用語言:  en  |  fr 

描述mod_proxy的 FTP 支援模組
狀態擴充功能
模組識別碼proxy_ftp_module
原始檔mod_proxy_ftp.c

摘要

此模組需要mod_proxy 的服務。它提供代理 FTP 網站的支援。請注意,FTP 支援目前僅限於 GET 方法。

因此,若要具備處理 FTP 代理要求的能力,mod_proxymod_proxy_ftp 必須存在於伺服器中。

警告

在您保護好您的伺服器之前,請勿啟用代理。開放式代理伺服器對您的網路和整體而言都是危險的。

Support Apache!

主題

指令

除錯檢查表

另請參閱

top

為何檔案類型 xxx 無法透過 FTP 下載?

您可能沒有在 proxy 的 mime.types 組態檔中,將該特定的檔案類型定義成 application/octet-stream。實用的敘述行可以是

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

或者您可能比較喜歡使用 ForceType 指令將一切都預設為二進位

ForceType application/octet-stream
top

我如何強制以 FTP ASCII 方式下載檔案 xxx

在您必須使用 FTP ASCII 傳輸方法下載特定檔案(同時預設傳輸處於 二進制 模式)的罕見情況下,您可以使用 ;type=a 字尾強制 ASCII 傳輸來覆寫 mod_proxy 的預設值。(但是,FTP 目錄清單始終以 ASCII 模式執行。)

top

我如何執行 FTP 上傳?

目前,在 mod_proxy 中僅支援 FTP 的 GET。您當然可以使用 Apache 代理的 HTTP 上傳(POST 或 PUT)。

top

我如何存取主目錄之外的 FTP 檔案?

FTP URI 相對於登入使用者的主目錄來詮釋。可惜的是,由於瀏覽器詮釋點而非實際將其傳送至 FTP 伺服器,因此您無法使用 /../ 來到達上層目錄。為了解決這個問題,已在 Apache FTP 代理程式中實作所謂的 Squid %2f 駭取方式,這也是其他熱門代理伺服器(例如 Squid Proxy Cache)所使用的解決方案。藉由將 /%2f 加到您要求的路徑之前,您可以讓這類代理將 FTP 起始目錄變更為 /(而非主目錄)。例如,若要擷回檔案 /etc/motd,您可以使用下列 URL

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

top

我如何隱藏瀏覽器網址列中的 FTP 明文密碼?

若要透過使用者名稱和密碼登入 FTP 伺服器,Apache 會使用不同的策略。若 URL 中同時遺失使用者名稱和密碼,Apache 會對 FTP 伺服器發送匿名登入,

使用者:anonymous
密碼:apache-proxy@

這適用於已設定可匿名存取的所有熱門 FTP 伺服器。

對於使用特定使用者名稱的個人登入,您可以將使用者名稱內嵌在 URL 中,例如

ftp://username@host/myfile

若 FTP 伺服器針對給定的使用者名稱詢問密碼(它應該會詢問),那麼 Apache 會回應一個 401(需要授權)回應,這會造成瀏覽器彈出使用者名稱/密碼對話框。在輸入密碼後,會重新嘗試連線,若成功,則會顯示所要求的資源。這個程序的優點是您的瀏覽器不會以明文顯示密碼(如果您一開始使用了

ftp://username:password@host/myfile

,就會發生這種狀況)。

注意事項

以這種方式傳輸的密碼在傳輸過程中不會加密。它會在瀏覽器和 Apache 代理伺服器之間以 base64 編碼的明文字串傳輸,以及在 Apache 代理伺服器和 FTP 伺服器之間以純文字傳輸。因此,在透過 HTTP 存取 FTP 伺服器之前(或在透過 FTP 存取您的個人檔案之前!)您應該三思。在使用不安全的頻道時,竊聽者可能會攔截您在傳輸過程中的密碼。

top

為何當我預期要下載檔案時,卻得到檔案清單?

為了能在 FTP 伺服器上瀏覽目錄和下載檔案,Apache 會檢查請求的網址。如果看起來像一個目錄或包含萬用字元("*?[{~"),則會猜測是要清單而不是下載。

你可以停用名稱中有萬用字元的特殊處理。請參閱指令 ProxyFtpListOnWildcard

top

ProxyFtpDirCharset 指令

描述定義代理 FTP 清單的字元集
語法ProxyFtpDirCharset 字元集
預設值ProxyFtpDirCharset ISO-8859-1
範圍伺服器設定、虛擬主機、目錄
狀態擴充功能
模組mod_proxy_ftp
相容性Apache 2.2.7 版本以上有提供。在 Apache 2.3.5 中從 mod_proxy 移出。

指令 ProxyFtpDirCharset 定義 mod_proxy_ftp 在 HTML 中產生的 FTP 目錄清單中要設定的字元集。

top

ProxyFtpEscapeWildcards 指令

描述在傳送至 FTP 伺服器時,是否讓請求檔名中的萬用字元改為跳脫字元
語法ProxyFtpEscapeWildcards 開啟|關閉
預設值ProxyFtpEscapeWildcards 開啟
範圍伺服器設定、虛擬主機、目錄
狀態擴充功能
模組mod_proxy_ftp
相容性在 Apache 2.3.3 版本以上有提供

指令 ProxyFtpEscapeWildcards 控制請求檔名中的萬用字元("*?[{~")在傳送給 FTP 伺服器前是否會在反斜線前面加跳脫字元。這是預設的行為,但許多 FTP 伺服器不知道跳脫字元,並會嘗試提供傳送給牠們的文字檔名,包括名稱中的反斜線。

若要從不了解萬用字元跳脫的 FTP 伺服器下載名稱中含有萬用字元的檔案,設定為「關閉」。

top

ProxyFtpListOnWildcard 指令

描述請求檔名中的萬用字元是否會觸發檔案清單
語法ProxyFtpListOnWildcard 開啟|關閉
預設值ProxyFtpListOnWildcard 開啟
範圍伺服器設定、虛擬主機、目錄
狀態擴充功能
模組mod_proxy_ftp
相容性在 Apache 2.3.3 版本以上有提供

指令 ProxyFtpListOnWildcard 控制請求檔名中的萬用字元("*?[{~")是否會導致 mod_proxy_ftp 回傳檔案清單而非下載檔案。預設值(開啟)是會。

若要即使檔名中有萬用字元也能下載檔案,設定為「關閉」。

適用語言:  en  |  fr 

top

意見

注意事項
此處並非問答區。張貼的留言應建議如何改善文件或伺服器,若我們的管理員將其實作或認為不正確/離題,可能會移除。有關如何管理 Apache HTTP Server 的問題,應導向我們的 IRC 頻道 #httpd(在 Libera.chat 上),或傳送至我們的 郵件清單