IBM HTTP Server 說明:Proxy 指引
語法 - ProxyRequests on | off
預設值 - ProxyRequests Off
範圍 - 伺服器配置、虛擬主電腦狀態 - 基本模組 - mod_proxy相容性 - ProxyRequests 僅限用於 Apache 1.1 及更新版本。
這可容許或防止 Apache 充當 PROXY 伺服器。
將 ProxyRequests 設成 'off' 並不會停用 ProxyPass 指引。
預設值 - 無
語法 - ProxyRemote <match> <remote-server>
範圍 - 伺服器配置、虛擬主電腦狀態 - 基本
模組 - mod_proxy
相容性 - ProxyRemote 僅限用於 Apache 1.1 及更新版本。
這會把遠端 Proxy 定義至這個 Proxy。<match> 為
遠端伺服器支援的 URL 綱目名稱,或遠端伺服器將使用的部份 URL 名稱,
或以 '*' 指示所有要求都應連絡此伺服器。<remote-server> 為遠端伺服器的
部份 URL。語法:
<remote-server> = <protocol>://<hostname>[:port]
<protocol> 是用來與遠端伺服器通信的通信協定;此模組僅支援 "http"。
範例:
ProxyRemote http://goodguys.com/ http://mirrorguys.com:8000
ProxyRemote * http://cleversite.com
ProxyRemote ftp http://ftpproxy.mydomain.com:8080
在最後一個範例中,proxy 會將還封裝了另一個 HTTP proxy 要求的 FTP 要求,
轉遞至可處理這些要求的另一個 proxy。
語法 - ProxyPass <路徑> <url> <路徑> <url>
範圍 - 伺服器配置、虛擬主電腦狀態 - 基本模組 - mod_proxy相容性 - ProxyPass 僅限用於 Apache 1.1 及更新版本。
此指引可讓遠端伺服器對映到本端伺服器的空間;通常本端伺服器不充當 proxy 使用,而是作為遠端伺服器的一個鏡映。<路徑> 為本端虛擬路徑名稱;
<url> 為遠端伺服器的部份 URL。
假設本端伺服器位址為 http://wibble.org/ ;則
ProxyPass /mirror/foo/ http://foo.com/
會導致 <http://wibble.org/mirror/foo/bar > 的本端要求
在內部轉換成 <http://foo.com/bar > 的 proxy 要求。
語法 - ProxyPassReverse <路徑> <url> <路徑> <url>
範圍 - 伺服器配置、虛擬主電腦狀態 - 基本模組 - mod_proxy相容性 - ProxyPassReverse 僅限用於 Apache 1.3b6 及更新版本。
此指引可讓 Apache 針對 HTTP 重新導向回應,調整位置 標頭中的 URL。
例如,當 Apache 當作反轉 proxy 來避免略過反轉 proxy 時,此指引很重要,因為留在反轉 proxy 後面的後處理伺服器上有 HTTP 重新導向。
<路徑> 為本端虛擬路徑名稱。
<url> 為遠端伺服器的部份 URL - 和它們使用於 ProxyPass 指引的方式相同。
範例:
假設本端伺服器位址為 http://wibble.org/ ;則
ProxyPass /mirror/foo/ http://foo.com/
ProxyPassReverse /mirror/foo/ http://foo.com/
不僅會導致
<http://wibble.org/mirror/foo/bar > 的本端要求
在內部轉換成 <http://foo.com/bar > 的 proxy 要求 (此處由 ProxyPass 提供功能)。它還負責
伺服器 foo.com 傳送的重新導向:當 http://foo.com/bar 被使用者
重新導向至 http://foo.com/quux 時,在轉遞 HTTP 重新導向回應至從屬站之前,
Apache 會將它調整至 http://wibble.org/mirror/foo/quux 。
請注意:這個 ProxyPassReverse 指引亦可以和
mod_rewrite 中的 proxy 透通特性 ("RewriteRule ... [P] ") 一起使用,因為它不以對應的 ProxyPass 指引為依據。
語法 - AllowCONNECT <埠清單>
預設值 - AllowCONNECT 443 563
範圍 - 伺服器配置、虛擬主電腦狀態 - 基本模組 - mod_proxy相容性 - AllowCONNECT 僅限用於 Apache 1.3.2 及更新版本。
AllowCONNECT 指引指定 proxy CONNECT 方法連接的埠號清單。
當要求一個 https 連線且透過 http 的 proxy 通道生效時,現在的瀏覽器會使用此方法。
就預設值而言,僅啟用預設的 https 埠 (443) 及預設的 snews 埠 (563)。
AllowCONNECT 指引可用來置換此預設值,並僅容許連接所列出的埠。
語法 - ProxyBlock <字組/主電腦/網域清單>
範圍 - 伺服器配置、虛擬主電腦狀態 - 基本模組 - mod_proxy相容性 - ProxyBlock 僅限用於 Apache 1.2 及更新版本。
ProxyBlock 指引可指定以空格區隔的字組、主電腦及/或網域之清單。
對於名稱中含有符合的字組、主電腦或網域的網站之 HTTP、HTTPS 及 FTP 文件要求,被 PROXY 伺服器暫停執行 。此 proxy 模組也會在啟動期間嘗試判斷可能是主電腦名稱的清單項目的 IP 位址,也會快取它們來進行相符測試。範例:
ProxyBlock joes-garage.com some-host.co.uk rocky.wotsamattau.edu
若被 IP 位址參考到,則 'rocky.wotsamattau.edu' 也相符。
請注意:'wotsamattau' 亦足以和 'wotsamattau.edu' 相符。
另請注意
ProxyBlock * 暫停執行與全部網站的連接。
語法 - ProxyReceiveBufferSize <位元組>
範圍 - 伺服器配置、虛擬主電腦狀態 - 基本模組 - mod_proxy相容性 - ProxyReceiveBufferSize 僅限用於 Apache 1.3 及更新版本。
針對增加的產量,ProxyReceiveBufferSize 指引可對送出的 HTTP 及 FTP 連接,
指定一個明確的網路緩衝區大小。此緩衝區大小必須大於 512,若設定為 0,則會使用系統的預設緩衝區大小。
範例:
ProxyReceiveBufferSize 2048
語法 - NoProxy NoProxy { <網域>
| <次網路> | <Ip 位址>
| <主電腦名稱> }
範圍 - 伺服器配置、虛擬主電腦狀態 - 基本模組 - mod_proxy相容性 - NoProxy 僅限用於 Apache 1.3 及更新版本。
此指引僅對企業內部網路內的 Apache PROXY 伺服器有用。
NoProxy 指引指定以空格區隔的次網路、IP 位址、主電腦及/或網域的清單。
對於符合上述一或多個項目的主電腦之要求一定會直接被回應,而不必轉遞至配置的 ProxyRemote PROXY 伺服器。
範例:
ProxyRemote * http://firewall.mycompany.com:81
NoProxy .mycompany.com 192.168.112.0/21
NoProxy 指引的引數為下列其中一項:
網域
網域 為非完整 DNS 網域名稱,前面加上一個句點。
它代表邏輯上屬於相同 DNS 網域或區域的主電腦清單
(例如 ,主電腦名稱的字尾皆以網域 為結尾)。
範例: .com .apache.org.
區分網域 與主電腦名稱 (包括語法及語意;DNS 網域也可以有 DNS A 記錄!),
網域 的前面一定有一個前置句點。
附註:網域名稱的比較無關乎大小寫,且網域 一定假設固定在 DNS 樹狀的根,因此 .MyDomain.com 及 .mydomain.com. (注意尾端句點)
這兩個網域被視為同等。因為網域比較不涉及 DNS 查閱,所以比次網路比較更有效率。
次網路
次網路 為不完整的網際網路位址,格式為以點隔開的四組數字,
最後面一組數字的後面可以選擇性地加上斜線及網路遮罩,此網路遮罩指定為
次網路 中的有效位元數。它是用來代表透過一般網路介面可連上的主電腦次網路。
若缺乏明確網路遮罩,則假設省略的 (或使用零值的) 尾端數字指定遮罩。
(在此情形下,網路遮罩僅能是 8 位元的倍數。)
範例:
192.168 或 192.168.0.0
次網路 192.168.0.0 具有 16 有效位元的隱含式網路遮罩
(有時使用於網路遮罩格式 255.255.0.0 )
192.168.112.0/21
次網路 192.168.112.0/21 具有 21 有效位元的網路遮罩
(也使用於格式 255.255.248.0)
在被省略的情況下,具有 32 有效位元的次網路 相當於 IP 位址 ,
而具有 0 有效位元的次網路 (例如 ,0.0.0.0/0) 與常數 _Default_ 相同,符合任何 IP 位址。
IP 位址
IP 位址 代表一個完整的網際網路位址,其格式為以點隔開的四組數字。
通常,此位址代表一個主電腦,但不一定要是連接該位址的 DNS 網域名稱。
範例: 192.168.123.7
附註:IP 位址 不需被 DNS 系統解析,所以可產生更有效的 Apache 效能。
亦請參閱:
DNS 議題
主電腦名稱
主電腦名稱 是一個完整的 DNS 網域名稱,可透過 DNS 網域名稱服務程式解析為一或多個 IP 位址 。
它代表邏輯主電腦(對照網域 ,請參考上述),
而且至少要可以解析成一個 IP 位址 (或通常解析成具有不同 IP 位址 的主電腦清單)。
範例: prep.ai.mit.edu
www.apache.org.
附註:在許多狀況下,指定 IP 位址 來代替主電腦名稱 更有效率,因為可以省略 DNS 查閱。
當名稱伺服器的連接是使用慢速 PPP 鏈結時,Apache 中的名稱解析可能需要很長的處理時間。
附註:主電腦名稱 的比較無關乎大小寫,且主電腦名稱 一定假設固定在 DNS 樹狀的根,因此,WWW.MyDomain.com 及 www.mydomain.com. (注意尾端句點) 這兩個主電腦被視為同等。
亦請參閱:
DNS 議題
語法 - ProxyDomain <網域>
範圍 - 伺服器配置、虛擬主電腦狀態 - 基本模組 - mod_proxy相容性 - ProxyDomain 僅限用於 Apache 1.3 及更新版本。
此指引僅對企業內部網路內的 Apache PROXY 伺服器有用。
ProxyDomain 指引可指定 Apache PROXY 伺服器所屬的預設網域。
若發現某要求的主電腦對象沒有網域名稱,則會產生一個重新導向回應,
它針對相同主電腦但有附加已配置的網域 。
範例:
ProxyRemote * http://firewall.mycompany.com:81
NoProxy .mycompany.com 192.168.112.0/21
ProxyDomain .mycompany.com
語法 -ProxyVia {off|on|full|block }
預設值 - ProxyVia off
範圍 - 伺服器配置、虛擬主電腦狀態 - 基本模組 - mod_proxy相容性 - ProxyVia 僅限用於 Apache 1.3.2 及更新版本。
此指引可透過 Proxy 控制 Via: HTTP 標頭的用法。
它的用途是去控制一組 PROXY 伺服器的 proxy 要求流程。
有關 Via: 標頭行的說明,請參閱 RFC2068 (HTTP/1.1)。
若設定為 off (此為預設值),則不會執行任何特殊處理程序。
若某要求或回覆包含 Via: 標頭,則通過它時保持不變。
若設定為 on ,每一個要求及回覆會針對現行主電腦新增一個 Via: 標頭行。
若設定為 full ,每一個產生的 Via: 標頭行會附加 Apache 伺服器版本,並將它顯示為一個 Via: 註解欄位。
若設定為 block ,每一個 proxy 要求的所有 Via: 標頭行會被移除。
不會產生新的 Via: 標頭。
語法 - CacheForceCompletion <百分比>
範圍 - 伺服器配置、虛擬主電腦預設值 - 90
狀態 - 基本模組 - mod_proxy相容性 - CacheForceCompletion 僅限用於 Apache 1.3.1 及更新版本。
若快取的 http 轉送被取消,但是已轉送超過指定的百分比,則 proxy 模組會完成快取轉送。
這是一個百分比,而且必須是介於 1 和 100 之間的數字,如果是 0,則使用預設值。
100 這個數字,唯有容許轉送完成時才會使文件被快取。建議使用
60 到 90 之間的數字。
語法 - CacheRoot <目錄 >
範圍 - 伺服器配置、虛擬主電腦
狀態 - 基本
模組 - mod_proxy
相容性 - CacheRoot 僅限用於 Apache 1.1 及更新版本。
設定包含快取檔的目錄名稱;此名稱必須可被 httpd 伺服器撰寫。(請參閱 user
指引)。
設定 CacheRoot
啟用 proxy 快取;若未定義 CacheRoot
,
但 ProxyRequests
設定為 開啟
,則仍可使用 Proxy 功能,但不會執行任何快取。
CacheSize <大小 >
預設值 - CacheSize 5
範圍 - 伺服器配置、虛擬主電腦
狀態 - 基本
模組 - mod_proxy
相容性 - CacheSize 僅限用於 Apache 1.1 及更新版本。
設定所要的快取空間使用量,以 KB (1024 位元組單位) 為單位。
雖然使用量的增加可能會超過這個設定,您可以使用垃圾收集來刪除檔案,讓使用量降至這個設定或設定以下。
根據預期的 proxy 流量及 CacheGcInterval
,
使用的值至少要比可用空間少 20 至 40 %。
語法 - CacheGcInterval <時間 >
範圍 - 伺服器配置、虛擬主電腦
狀態 - 基本
模組 - mod_proxy
相容性 - CacheGcInterval 僅限用於 Apache 1.1 及更新版本。
每隔 <時間> 小時檢查一次快取,若空間使用量超過 CacheSize 的設定,並將刪除一些檔案。
請注意:<時間> 可接受浮點值,例如,您可以使用 CacheGcInterval 1.5
,表示每隔 90 分鐘檢查一次快取。(若未設定,則不會執行垃圾收集,而且快取會無限制增加。)
另請注意:CacheGcInterval
的設定越大,
則兩次垃圾收集之間的快取需要比所配置的 CacheSize
更多的額外空間。
語法 - CacheMaxExpire <時間 >
預設值 - CacheMaxExpire 24
範圍 - 伺服器配置、虛擬主電腦
狀態 - 基本
模組 - mod_proxy
相容性 - CacheMaxExpire 僅限用於 Apache 1.1 及更新版本。
在沒有檢查原始伺服器的情況下,快取型 HTTP 文件最多可保留 <時間> 小時。
因此,這些文件最多可以過期 <時間> 小時。即使文件本身提供到期日,此限制仍然有效。
語法 - CacheLastModifiedFactor <因數 >
預設值 - CacheLastModifiedFactor 0.1
範圍 - 伺服器配置、虛擬主電腦
狀態 - 基本
模組 - mod_proxy
相容性 - CacheLastModifiedFactor 僅限用於 Apache 1.1 及更新版本。
若原始 HTTP 伺服器沒有提供文件的到期日,請使用下列公式來預估到期日
有效期限 = 上次修改後的時間 * <因數>
例如,若文件上次修改時間是 10 小時之前,且 <因數> 為 0.1,
則有效期限將被設定為 10*0.1 = 1 小時。
若有效期限大於 CacheMaxExpire 的設定,則以後者為優先。
語法 - CacheDirLevels <層次 >
預設值 - CacheDirLevels 3
範圍 - 伺服器配置、虛擬主電腦
狀態 - 基本
模組 - mod_proxy
相容性 - CacheDirLevels 僅限用於 Apache 1.1 及更新版本。
CacheDirLevels 可設定快取的子目錄層次數。快取的資料會被儲存到 CacheRoot 下的這些目錄層次。
語法 - CacheDirLength <長度 >
預設值 - CacheDirLength 1
範圍 - 伺服器配置、虛擬主電腦
狀態 - 基本
模組 - mod_proxy
相容性 - CacheDirLength 僅限用於 Apache 1.1 及更新版本。
CacheDirLength 可設定 proxy 快取子目錄名稱的字元數。
語法 - CacheDefaultExpire <時間 >
預設值 - CacheDefaultExpire 1
範圍 - 伺服器配置、虛擬主電腦
狀態 - 基本
模組 - mod_proxy
相容性 - CacheDefaultExpire 僅限用於 Apache 1.1 及更新版本。
若文件是透過不支援到期時間的通信協定提取的,請使用 <時間> 小時作為到期時間。 CacheMaxExpire
不會 置換這個設定。
語法 - CacheDefaultExpire <時間 >
預設值 - CacheDefaultExpire 1
範圍 - 伺服器配置、虛擬主電腦
狀態 - 基本
模組 - mod_proxy
相容性 - CacheDefaultExpire 僅限用於 Apache 1.1 及更新版本。
NoCache 指引指定以空格區隔的字組、主電腦及/或網域之清單。
來自符合的字組、主電腦或網域的 HTTP 文件及無密碼式 FTP 文件,不會 被 PROXY 伺服器快取。
此 proxy 模組也會在啟動期間嘗試判斷可能是主電腦名稱的清單項目的 IP 位址,也會快取它們來進行相符測試。範例:
NoCache joes-garage.com some-host.co.uk bullwinkle.wotsamattau.edu
若被 IP 位址參考到,則 'bullwinkle.wotsamattau.edu' 也相符。
請注意:'wotsamattau' 亦足以和 'wotsamattau.edu' 相符。
另請注意
NoCache *
完全停用快取功能。