本版適用於:
除非在新版本中另外指出, 否則將適用於所有後續版本及修訂版。
您可以透過 IBM 業務代表或當地的 IBM 分公司訂購出版品。
本前言說明本書的讀者與目的、其內容編制、協助工具特性、慣例與專用辭彙,以及相關的文件。
Caching Proxy 管理手冊一書是針對熟悉作業系統及提供網際網路服務的資深網路及系統管理員所撰寫的。先前操作 Caching Proxy 的經驗並非必要。
這本書並不是要支援上一版的 Caching Proxy。
本說明文件使用以下的排版及輸入慣例。
| 慣例 | 意義 |
|---|---|
| 粗體 | 提到圖形式使用者介面 (GUI) 時,粗體字指出功能表、功能表項目、標籤、按鈕、圖示及資料夾。也可用來強調可能會與前後文字混淆的指令名稱。 |
| 等寬字體 | 指出您必須在命令提示字元之下輸入的文字。等寬字體也表示螢幕文字、程式碼範例及檔案摘錄。 |
| 斜體字 | 指出您必須提供的變數值(例如,您提供 fileName 的檔名)。斜體字也表示強調及書名。 |
| Ctrl-x | 其中 x 是按鍵的名稱,指出控制字元順序。例如,Ctrl-c 表示按住 Ctrl 鍵,同時按 c 鍵。 |
| Return | 指出標示為 Return、Enter 或左箭號的按鍵。 |
| % | 代表不需要 root 許可權之指令的 Linux(TM) 和 UNIX(R) command-shell 提示字元。 |
| # | 代表需要 root 許可權之指令的 Linux 和 UNIX command-shell 提示字元。 |
| C:\ | 代表 Windows(R) 命令提示模式。 |
| 輸入指令 | 當指示您「輸入」或「發出」指令時,請輸入指令,然後按 Return。 比方說,「輸入 ls 指令」指示表示在命令提示字元之下輸入 ls,然後按 Return。 |
| [ ] | 在語法說明中含括選用性的項目。 |
| { } | 在語法說明中含括必須從中選擇一個項目的清單。 |
| | | 在語法說明中,以 { }(大括弧)括住選項清單中的個別項目。 |
| ... | 語法說明中的省略符號,表示前一個項目可重複一或多次。範例中的省略符號, 則表示為力求簡潔而省略範例資訊。 |
協助工具特性可協助身體殘障的使用者(如行動不便或視力不佳的使用者)順利使用軟體產品。 以下是 WebSphere(R) Application Server 6.0.1 版中的主要協助工具特性:
您的意見非常重要,它可以協助我們提供最準確、品質最好的資訊。 如果您對本書或有關 WebSphere Application Server 的 Edge Components 之其他說明文件有任何意見:
這個部分提供 Caching Proxy 元件的概觀、使用配置與管理表單以及「配置精靈」的指示、手動編輯 ibmproxy.conf 檔的指示,以及啟動與停止 Proxy 伺服器的程序。
這個部分包含下列各主題:
Caching Proxy 由用戶端截取資料要求,從內容主機擷取所需的資訊,然後將該內容遞送回用戶端。 通常,要求是提供給儲存在 Web 伺服器機器的文件(也稱為來源伺服器或內容主機)並經由「超文字轉送通訊協定」(HTTP) 來遞送。 然而,您能配置 Caching Proxy 以處理其他通訊協定,例如檔案傳輸協定 (FTP) 與 Gopher。
在將內容遞送給要求者之前,Caching Proxy 會先將可快取的內容儲存在區域快取記憶體中。 可快取的內容包含靜態 Web 頁面與動態 JavaServer 頁面(JSP,動態產生但經常變更片段的頁面)。 快取可直接從區域快取記憶體來遞送內容,讓 Caching Proxy 能夠滿足後續需要相同內容的要求,這樣會比再次從內容主機擷取內容來得快速。
Caching Proxy 管理手冊包括 6.0 版及 5.0 版之後版次(5.0.1、5.0.2、5.1 和 5.1.1)的新特性、新支援平台和更正更新項目。 這裡列出最重要的新特性(6.0 版及 5.0 版之後版次)。
除了支援在 Linux for Intel 中執行 Caching Proxy,Proxy 現在也能在 Linux for S/390、zSeries、iSeries 和 pSeries 中執行。
除了 AIX 5.1,Caching Proxy 現在也支援 AIX 5.2 和 AIX 5.3。
除了 Solaris 8,Caching Proxy 現在也支援 Solaris 9。
除了 Windows 2000,Caching Proxy 現在也支援 Windows Server 2003。
除了支援 AIX、Linux、Solaris 和 Windows 系統,Caching Proxy 現在也支援 HP-UX。
現在支援新版的 32 位元 JDK:JDK 1.4.2。
依預設,會隨著 Caching Proxy 而提供和安裝新版的 GSkit:GSkit 7。
接合重新撰寫有相關的加強功能和新指引。 如果需要詳細資訊,請參閱:
另外,也提供了使用 JunctionRewrite 外掛程式的替代方案。 如果需要詳細資訊,請參閱:
支援下列新指引:
下列現有指引有增強功能:
現在提供了 JunctionRewrite 的可自訂程式碼範例,以重新撰寫和剖析 HTML 檔中的 JavaScript (SCRIPT) 和 Applet (APPLET) 標示區塊。 (JunctionRewrite 外掛程式無法獨自處理 JavaScript 中或 Java 參數值中的資源鏈結。 如果需要詳細資訊,請參閱擴充 JunctionRewrite 功能的 transmogrifier 外掛程式範例。
如果要啟用匿名連結,請參閱建立 pac_ldap.cred。
如果是 Proxy 和 LDAP 伺服器之間的 SSL 連線,請將金鑰資料庫密碼放在 pac_keyring.pwd 檔中。請參閱建立新的金鑰資料庫、密碼及隱藏檔。
在配置檔 (ibmproxy.conf) 中,已變更預設值來提供更好的安全。 比方說,已改成停用 HTTP CONNECTION 和停用 SSL 通道作業。 這項加強功能沒有新指引。
Caching Proxy 搭配可用來要求用戶端及配置 Proxy 伺服器的 HTML 表單使用。 這些表單會執行 CGI 程式,以編輯區域 Proxy 伺服器配置檔 ibmproxy.conf。如果要使用這些表單, 必須執行 Proxy 伺服器並配置它,才能將這些表單從它們所在的區域目錄傳遞出去。
依預設,是以包含在可存取配置與管理表單的 ibmproxy.conf 檔中的 Pass 指引來安裝 Caching Proxy。當用戶端要求這個 Proxy 伺服器預設的首頁時,會提供 Frntpage.html。這個頁面包含了鏈結到配置與管理表單起始頁面 wte.html 的超文字鏈結。
配置與管理表單是受保護的,在提供之前需要用戶端鑑別。有關管理者 ID 和密碼的指示, 請參閱設定管理者密碼。
用來存取配置與管理表單的 Web 瀏覽器必須支援下列各項:
建議的瀏覽器 Mozilla 1.4 或 Mozilla 1.7(Linux 和 UNIX 系統)或 Internet Explorer(Windows 系統)。 請參閱 Edge Components 的概念、規劃與安裝,以取得用來檢視「配置」和「管理」表單的其他瀏覽器相關資訊。
如果要存取配置與管理表單,請執行下列動作:
http://your.server.name[:port][/directory][/page.html]其中
要求的配置變更已經順利完成。如果輸入不被接受,則會在上框中顯示一個錯誤訊息,指出不接受哪些設定。
安裝 Caching Proxy 套裝軟體之後,您必須建立用來存取配置與管理表單的管理者識別及密碼。預設的 Proxy 伺服器配置會使用 webadmin.passwd 密碼檔來鑑別要求配置與管理表單的使用者,這個密碼檔在 /opt/ibm/edge/cp/server_root/protect/ 目錄(Linux 和 UNIX 系統)或 \Program Files\IBM\edge\cp\etc\ 目錄(Windows 系統)中。套裝軟體安裝不會覆寫現有的 webadmin.passwd 檔。
請使用下列指令,新增管理者項目到 webadmin.passwd 密碼檔案:
# htadm -adduser /opt/ibm/edge/cp/server_root/protect/webadmin.passwd當提示時,對管理者提供 htadm 程式使用者名稱、密碼與實際的名稱。
cd "\Program Files\IBM\edge\cp\server_root\protect\" htadm -adduser webadmin.passwd"當出現提示時,請將管理者的使用者名稱、密碼及實際姓名提供給 htadm 程式。
有關 htadm 指令的詳細說明,請參閱htadm 指令。
「Caching Proxy 配置精靈」能讓您快速地配置已安裝的 Caching Proxy。本程式只會設定必要的重要指引, 來修改 Caching Proxy 的行為才能以代理者來運作。Proxy 伺服器需要附加配置。
如果要使用「Caching Proxy 配置精靈」,請執行下列動作:
在 Windows 系統中:按一下開始 -> 程式集 -> IBM WebSphere -> Edge Components -> Caching Proxy -> 配置精靈。
在 Linux 和 UNIX 系統中:輸入 /opt/ibm/edge/cp/cpwizard/cpwizard.sh 指令
Port port Proxy /* http://content server : port
範例:
Proxy /* http://content server :443
或
Proxy /* https://content server :443
限制:在 Linux 系統中,「Caching Proxy 配置」精靈的鍵盤捷徑無法運作。
您可以手動編輯 ibmproxy 配置檔來配置 Caching Proxy,或利用「配置」和「管理」表單來手動配置 Caching Proxy。
配置檔是由陳述式(亦即指引)所組成。如果要變更配置,請藉由修改指引來編輯配置檔並儲存變更。幾乎所有的文字編輯程式都能用來編輯配置檔,例如 emacs 與 vi。
除非變更了『表 6.』中識別的其中一個指引,否則在您重新啟動伺服器時配置檔變更就會生效。如果您變更了該清單中的一個指引, 則必須停止伺服器再重新啟動。相關指示,請參閱啟動與停止 Caching Proxy。
附錄B. 配置檔指引說明每一個配置檔指引而且提供關於語法的詳細資料。
Caching Proxy 是設計以最少的操作員介入之背景處理程序來不斷地執行。一般來說,Proxy 伺服器是在機器的起動循環期間啟動,僅在需要維護時才停止。必要時,或許要手動啟動 Proxy 伺服器。您也能傳遞重新啟動指示給 Proxy 伺服器,這樣能在不中斷作用中的用戶端連線之情況下,有效地停止 Proxy 伺服器接著再啟動它。
在 Linux 和 UNIX 系統中,當您安裝好 Caching Proxy 之後,會將 ibmproxy 起始設定 Script 和相關聯的符號鏈結放在適當的 /etc/ 目錄中。接著會整合這些 Script 至作業系統的啟動與關閉常式。 您可以編輯 ibmproxy Script 及變更 ibmproxy 指令選項, 來變更自動重新啟動的配置設定。
可能會因為 Solaris 對檔案描述子的系統面限制, 導致 Caching Proxy 起始設定 Script 無法設定想要的最大檔案描述子數目。如果系統面最大值小於 Caching Proxy 起始設定 Script 中的設定, 就會使用系統面限制。您可以變更檔案描述子限制以避免由於值太低(小於 1024)而產生的 Proxy 效能問題。 發出 ulimit 指令來檢視目前可用的描述子數目。 如果值小於 1024,請增加檔案描述子限制。 如果要增加檔案描述子限制到 1024,請新增下面一行到 /etc/system 檔:
set rlim_fd_cur=0x400
停用自動啟動及關閉
如果要停用自動啟動及關閉,請執行下列動作:
在 SuSE Linux 上,將下列鏈結移除到 ibmproxy:
不管啟動方法為何,最後還是會直接從命令提示模式或是 Script 內呼叫 ibmproxy 指令。有關 ibmproxy 指令的詳細說明,請參閱ibmproxy 指令。僅舉出最常使用的引數所遵循的範例。
startsrc -s ibmproxy
startsrc -s ibmproxy -e "LC_ALL=locale"
ibmproxy
/sbin/init.d/ibmproxy start
/usr/sbin/ibmproxy
/usr/sbin/ibmproxy -nobg
/etc/rc.d/init.d/ibmproxy start
/usr/sbin/ibmproxy
/usr/sbin/ibmproxy -nobg
squidConfig.file -r /etc/errors_icons.conf
其中,當在瀏覽目錄時,errors_icons.conf 檔會針對指定的檔案類型定義要使用的圖示。
/etc/init.d/ibmproxy start
/usr/sbin/ibmproxy
/usr/sbin/ibmproxy -nobg
如果 Caching Proxy 是安裝成 Windows 服務,它啟動的方式就像任何其他 Windows 服務的啟動方式一樣:
如果 Caching Proxy 已安裝成服務,它可以配置成在 Windows 啟動時自動啟動。在這種情況下,您就不必在 Proxy 提供要求前先登入。 如果要讓 Proxy 自動啟動,請執行下列動作:
重新整理 PATH 環境變數
如果在服務視窗中 Caching Proxy 被標示成啟動, 但是 Proxy 沒有作用,那麼可能在安裝 Proxy 之後沒有重新啟動機器。 如果設定 Caching Proxy 服務與桌面互動,那麼無法重新啟動也會使下列錯誤訊息出現在蹦現框: 訊息型錄錯誤:訊息型錄無法載入或無效
您必須重新啟動機器,才會重新整理 Windows 登錄中 PATH 環境變數的值。如果沒有重新整理登錄,PATH 變數有可能顯示正確的 Caching Proxy 和 GSK7 路徑,但無法正常運作。
在 Windows 的 PATH 環境變數中, 如果檔案系統服務的路徑出現在 Caching Proxy 服務的路徑之前,就可能會發生問題。變更 PATH 變數,將檔案系統服務放在設定尾端附近可解決這個問題。
如果應用程式不是當成 Windows 服務來執行,這個問題將不會影響由該應用程式所控制的遠端磁碟機。比方說,Caching Proxy 可以存取位於其他 Windows 機器上,可透過區域網路 (LAN) 看到的共用磁碟機。
當 Caching Proxy 安裝成 Windows 應用程式時,安裝程序會建立一個 Caching Proxy 項目,做為開始功能表的子功能表。如果要將 Caching Proxy 當成應用程式啟動, 請按一下開始 -> 程式集 -> IBM WebSphere -> Edge Components -> Caching Proxy。
以現行配置設定,這個啟動程序執行 Proxy 伺服器。如果您要在啟動時指定其他設定,請使用指令啟動程序(請參閱下節)。
如果要從任何 Windows 或 DOS 命令提示模式啟動伺服器,請使用 ibmproxy 指令。如果您自安裝伺服器之後尚未關閉並重新啟動 Windows, 請輸入這個指令的完整路徑名稱,如下所示(依預設值):
c:\Program Files\IBM\edge\cp\bin\ibmproxy.exe
ibmproxy 指令是以現行配置設定來啟動伺服器。 如果您在安裝之後尚未變更伺服器配置,則現行配置是根據安裝期間所輸入的資訊以及預設的選項。
即使已安裝 Caching Proxy 成為一項服務來執行,ibmproxy 指令還是會以應用程式來啟動伺服器。 如果要強迫伺服器以應用程式的方式來執行, 您也可以指定指令選項 -noservice。 在執行時其他指令選項會變更配置設定。
目前能執行的多重 Proxy 伺服器實例,但每一個實例都必須在個別的埠上接收。在 AIX 系統上,您只能以 SRC 啟動一個實例。必須為全部的伺服器實例指定唯一的配置檔, 因為配置檔識別埠號,而特定機器上每一個伺服器所用的埠號必須不同。 如果要啟動額外的伺服器實例(當至少有一個實例已經執行時), 請輸入下列指令:
ibmproxy -r other_config_fileibmproxy -noservice -r other_config_file其中 other_config_file 是唯一的配置檔。
啟動伺服器的多個實例時, 請記錄針對每個實例所顯示的程序 ID。這些 ID 是停止伺服器的特定實例所必要的。
如果要停止伺服器:
| 啟動方法 | 停止方法 |
| 從 /etc/inittab(在 AIX 上) | 輸入 stopsrc -s ibmproxy |
| 從 /sbin/init.d(在 HP-UX 上) | 輸入 /sbin/init.d/ibmproxy stop |
| 從 /etc/rc.d/init.d(在 Linux 上) | 輸入 /etc/rc.d/init.d/ibmproxy stop |
| ibmproxy |
如果要停止機器上的全部伺服器:請輸入 killall ibmproxy |
| ibmproxy -nobg | 輸入 ctrl-c |
| ibmproxy -r -other_config_file(在 AIX 上) | 輸入 stopsrc -s ibmproxy -p process_id |
| ibmproxy -r -other_config_file(在 Linux) |
|
如果要停止伺服器,請在根目錄提示中輸入:
使用關閉指令時有下列限制:
在 AIX、HP-UX 和 Linux 系統上,停止 Caching Proxy 系統的指令有時只會關閉 Caching Proxy 程序。導致這種行為的 AIX 指令是 stopsrc -s ibmproxy 指令。導致這種行為的 HP-UX 和 Linux 指令是 ibmproxy -stop 指令。
關閉 Proxy 伺服器之後,LDAP Server 所使用的 PACD 程序可能會繼續執行。 使用下列 kill 指令可以安全關閉 PACD 程序:
kill -15 PACD_process_ID
在 Solaris 系統上發出 ibmproxy -stop 指令不會產生在其他作業系統執行該指令的相同效果。因為 Solaris 程式碼的限制,當在 Solaris 平台中使用 ibmproxy -stop 時, 不會執行 Server Termination 外掛程式步驟。
這個限制會影響 Proxy 伺服器軟體以及客戶執行的外掛程式。
這可能會讓 LDAP Server 所使用的 PACE 程序在 Proxy 伺服器關閉之後繼續執行。 使用下列 kill 指令可以安全關閉 PACD 程序:
kill -15 PACD_process_ID
您可以使用和停止其他 Windows 程式的同一種方式來停止 Caching Proxy 伺服器。
如果 Proxy 安裝成一項服務,請執行下列動作:
如果 Proxy 不是安裝成一項服務,請執行下列其中一個動作停止 Caching Proxy:
在變更伺服器配置之後(使用「配置與管理」表單或編輯 ibmproxy.conf 檔), 您必須重新啟動伺服器,變更才會生效。 大部分情況下,您不必先停止伺服器即可重新啟動伺服器, 但這種簡單的重新啟動無法重新整理部分設定。如果需要詳細資訊,請參閱『表 6.』。
如果要在沒有先停止伺服器的情況下重新啟動伺服器,請按一下任何「配置與管理」表單上的重新啟動按鈕, 或輸入下列指令:ibmproxy -restart
這個部分解釋 Caching Proxy 元件與作業系統、電腦硬體及網路相互作用的方法。它也提供配置交談的程序。這些 Proxy 伺服器配置的元素通常是由系統管理員來管理, 且必須謹慎地與網路資源(例如,IP 位址與主機名稱)及系統資源(例如, 可用記憶體與 CPU 循環)協調。
這個部分包含下列各主題:
Caching Proxy 通常是在配置來以網路伺服器來執行的主機系統上,以背景處理程序來執行。這個程序與主要電腦系統上的一或所有作用中的 「網際網路通訊協定」(IP) 位址相關聯(連結至)。它在指定的埠上接收不同的「網際網路通訊協定」(例如,FTP 與 HTTP),並以符合其行為配置的方式來執行有關這些要求的動作。(如果需要詳細資訊,請參閱配置 Caching Proxy 行為。)
依預設,Caching Proxy 會取用其主機系統的名稱。您可以刻意地指定 Proxy 伺服器的主機名稱以置換這個預設行為。為了將 Caching Proxy 連結至特定的 IP 位址,必須將 Proxy 伺服器的主機名稱變更為同於該 IP 位址。
Proxy 伺服器的主機名稱並不影響解析用戶端資料傳輸的方法。Proxy 伺服器不會在 HTTP 要求的標頭比較它自己的主機名稱與主機名稱引數值。Proxy 伺服器的主機名稱有時會併入動態產生的區域內容頁,例如錯誤訊息。也會倒退傳遞至所要求的用戶端,作為 HTTP 標頭中的 Via 引數值。
您可以在目的地伺服器上傳遞要求之前配置 Proxy 伺服器,以 Proxy 伺服器的主機名稱來取代要求用戶端的主機名稱。如此會強迫目的地伺服器透過 Proxy 伺服器來維護通訊通道,而不是與用戶端建立直接連線。
您可以指定主機系統上 Proxy 伺服器檔案的實體位置、Proxy 伺服器參照其本身的名稱, 以及埠(它可在這些埠上接收 ServerRoot、Hostname 和 Port 指引值),以定義 Proxy 伺服器程序。 如果主機有多重 IP 位址,您可以將 BindSpecific 指引值設為 On,將 Hostname 指引值設為等於 IP 位址,來將 Proxy 伺服器連結至特定的位址。
管理埠提供存取配置與管理表單與維護伺服器的方法。如果要透過管理埠來存取 Proxy 伺服器,請指定 AdminPort 指引值。在管理埠上接收到的要求不會與在標準埠上接收到的要求一起佇列。可以撰寫對映規則以允許透過這個埠來存取配置與管理表單。
當啟用 BindSpecific 指引時,會將 Caching Proxy 連結至 Port 指引所指定的埠及 Hostname 指引值所衍生的 IP 位址。AdminPort 指引所指定的埠會連結至系統中所有可用的 IP 位址。
如果要置換正在執行的伺服器預設名稱,例如 IBM-PROXY 或 IBM_HTTP_SERVER, 請指定 HeaderServerName 指引值。這個值會置於 HTTP 回應伺服器欄位。
如果要改進 Proxy 效能,可將 PureProxy 指引值設定為 on。這樣便能完全停用所有的快取功能。
下列指引定義 Proxy 伺服器程序:
如果需要詳細資訊,請參閱手動編輯 ibmproxy.conf 檔。
下列配置與管理表單編輯相關指引的值:
如果需要詳細資訊,請參閱使用配置與管理表單。
當使用者(而非超級使用者 root)啟動 Caching Proxy 時,該使用者會維護與 Proxy 伺服器相關聯的所有程序之所有權。然而, 如果超級使用者 root 啟動 Caching Proxy,Proxy 伺服器內的設定使用者 ID 功能便會讀取 ibmproxy.conf 檔中的 UserId 與 GroupId 指引, 並變更程序所有權給指定的使用者和群組。這麼做以限制檔案存取並保護電腦系統。如果您變更 UserId 或 GroupId 指引, 則必須更新 Proxy 伺服器所使用的目誌目錄與其他檔案(例如,存取控制清單 (ACL))的所有權及許可權。
您可以指定使用者識別、群組識別以及檔案位置(該檔案以 UserId、GroupId 以及 PidFile 指引值來紀錄程序 ID), 來建立 Proxy 伺服器程序的所有權。
如果要強迫 Proxy 伺服器程序以前景處理程序來執行,可將 NoBG 指引值設定為 on。
下列指引會建立 Proxy 伺服器程序所有權:
如果需要詳細資訊,請參閱手動編輯 ibmproxy.conf 檔。
下列配置與管理表單編輯相關指引的值:
如果需要詳細資訊,請參閱使用配置與管理表單。
Caching Proxy 產生新執行緒以處理每一個用戶端要求。如果沒有可用的執行緒,Proxy 伺服器會保留要求,直到能用其他執行緒為止。隨著作用中執行緒的增加,Proxy 伺服器會耗費更多記憶體。可指定作用中執行緒的最大數量,作為 MaxActiveThreads 指引值。
接收待辦是擱置用戶端連線要求的數量, 伺服器在拒絕與新用戶端連線之前記載。這項設定根據伺服器在幾秒內能夠處理的要求數而定。伺服器在逾時之前,必須回應用戶端連線。指定能在待辦中保留的最大連線數,作為 ListenBacklog 指引值。
Proxy 伺服器能維護持續性主從式連線。透過持續性連線,伺服器可接受來自用戶端的多重要求,並且透過相同的 TCP/IP 連線來傳送回應。 使用持續性連線可減少用戶端的潛伏期及降低 Proxy 伺服器上 CPU 負載, 但需要增加一些額外的伺服器記憶體。 當伺服器不必為每一個要求及回應來建立個別的 TCP/IP 連線時, 整體產量會增加,當連線持續時,可以最大效率使用 TCP/IP 連線。
藉由允許重新使用 Proxy 伺服器與來源伺服器之間的現存連線, 伺服器端連線共用會引用伺服器端上持續性連線的效益。每一個重新使用的連線可節省三個 TCP 封包( 兩個三向訊號交換封包用來設定連線,而一個用來關閉連線)。 伺服器端連線共用的好處如下:
當啟用伺服器端連線共用時,來源伺服器的 HTTP 連線會被共用。 在 Proxy 的 SSLEnable 指引設為 on 的配置中,也共用 SSL 連線。
您可以指定每個伺服器一次能保留的最大閒置 Socket 數量、伺服器在終止閒置持續性連線前的等待時間, 以及記憶體回收執行緒檢查逾時連線的時間間隔(預設為 2 分鐘),以配置維護連線共用的方式。
定義不同連線保持開啟的時間量,作為 InputTimeout、OutputTimeout、PersistTimeout、ReadTimeout 與 ScriptTimeout 指引的值。
下列指引管理與 Proxy 伺服器程序的連線:
如果需要詳細資訊,請參閱手動編輯 ibmproxy.conf 檔。
下列配置與管理表單編輯相關指引的值:
如果需要詳細資訊,請參閱使用配置與管理表單。
您可以適當設定及調整系統來顯著增進 Caching Proxy 的效能。下列建議如何增進設定及調整。
下列指引會明顯地影響 Proxy 伺服器程序的效能:
下列配置與管理表單欄位編輯相關指引的值:
檢查正在您系統上執行的服務程式或常駐程式,並移除非必要的服務程式或常駐程式,以增加可用的記憶體與 CPU 循環。比方說,如果您的系統執行的 Web 伺服器僅支援少數網頁, 請考慮使用 Caching Proxy 做為您唯一的 Web 伺服器。停用其他 Web 伺服器,如下所示:
確定您的系統具有足夠的分頁空間來進行適當的作業。 系統需要的分頁空間是實體記憶體的兩倍。 可能的話,請跨多個實體磁碟機分布分頁空間。比方說,具有 512 MB 記憶體及 5 台 SCSI 磁碟機的 Netfinity 5000 伺服器,總共需要 1 GB 的分頁空間,每一台磁碟機約為 200 MB。
在 Caching Proxy 作業期間,它會建立並毀損許多檔案。如果您的 Proxy 伺服器會記錄存取(使用存取日誌、Proxy 存取日誌或快取存取日誌), 請將日誌導引至它們自己的檔案系統,以防止日誌意外地擴大時使用其他功能(例如,快取)的空間。
Caching Proxy 對 TCP/IP 配置的變更是很敏感的。在任何作業系統上降低 TCP/IP 值都可能導致 Proxy 伺服器以非預期的方式來執行。更具體而言,如果 TCP/IP 值設定得太低,則連接到 Proxy 伺服器的用戶端,或 Proxy 連接所至的來源伺服器會重設連線。對於透過低頻寬連線(56700 bps 或更低)連接到 Proxy 伺服器的用戶端尤其是如此。如果 TCP/IP 參數必須降低,請小心處理。
TCP 等候時間間隔指定 Socket 在強制關閉之前,等候來自傳送者 FIN 封包的時間長度。在高承載環境下,如果大量的 Socket 在其連線關閉後仍然停留在 TIME_WAIT 狀態中,則 Proxy 伺服器可能出現延遲。減少 TCP 等候時間間隔將減少已暫停的 Socket 數,並且在高承載環境下防止 Proxy 伺服器出現延遲。建議您將間隔設定為 5 秒鐘。
如果要設定 TCP 等候時間間隔為 5 秒鐘:
發出下列指令:
ndd /dev/tcp -set tcp_time_wait_interval 5000
請使用 "sam" 公用程式,將核心程式參數 max_thread_proc 至少設為 2048。
發出下列指令:
echo "1024 61000" > /proc/sys/net/ipv4/ip_local_port_range echo "5" > /proc/sys/net/ipv4/tcp_fin_timeout
發出下列指令:
ndd /dev/tcp -set tcp_time_wait_interval 5000
編輯 /etc/system 檔,如下所示:
set tcp:tcp_conn_hash_size=8129
必須建立設定 TCP 等候時間間隔的登錄項目。 請參閱您的 Windows 文件,以取得詳細資訊。
Linux 核心程式中的數個限制很低且可以加以修改。 透過 /proc 檔案系統可以變更部分限制,有些部分則需要重新編譯核心程式。
備註:/proc 檔案系統是虛擬的;亦即,實際上不存在於磁碟上。 而是當做一個進入 Linux 核心程式的介面。 因為它不存在,所以在重新啟動時將失去您的輸入值。 因此,請將您要對 /proc 檔案系統所做的變更儲存在 RedHat 上的 /etc/rc.d/rc.local 檔, 或儲存在 SuSE 上的 /etc/rc.config 檔。 然後在重新啟動時固定會啟動這些變更。
部分建議如下:
echo 32768 > /proc/sys/fs/file-max
echo 65536 > /proc/sys/fs/inode-max
echo 32768 61000 > /proc/sys/net/ipv4/ip_local_port_range
如果您決定重新建置您的核心程式,僅啟用您明確需要的選項。如果您不需要特定的常駐程式,請勿執行它。
在 AIX 系統上,您可以使用系統範圍的執行緒並允許執行緒使用多個資料堆, 來提昇 Caching Proxy 的效能。效能會和作業系統的多重處理能力以及基礎作業系統的執行緒排程相關。您可以如下設定下列 AIX 執行緒調整變數, 來達到提昇效能的目的:
export AIXTHREAD_SCOPE=S export SPINLOOPTIME=500 export YIELDLOOPTIME=100 export MALLOCMULTIHEAP=1
您可以在啟動 /usr/sbin/ibmproxy 之前就設定這些環境變數;如果您是使用 startsrc -s ibmproxy 來啟動 Proxy 伺服器,您也可以將它們加入 /etc/rc.ibmproxy 中。在調整過這些執行緒調整變數之後,SMP 系統的效能會有較明顯的提昇。不過,在某些情況下,單一處理器系統的效能也會明顯提昇。
這個部分解釋 Caching Proxy 元件回應用戶端要求的方法,並提供配置這個行為的程序。 這些 Proxy 伺服器配置的元素通常是由 Web 管理員來管理,且不會影響主機系統上的其他程序,或網路內的其他電腦系統。
這個部分包含下列各主題:
當 Caching Proxy 收到用戶端的要求時,它會執行 URL 欄位中所指定的物件上之方法欄位中所指定的動作( 如果已啟用要求的方法)。Proxy 伺服器會依據管理者所定義的一組對映規則來解析 URL。這些對映規則會指示 Caching Proxy 以 Web 伺服器來執行, 並從本端檔案系統擷取物件,或是以 Proxy 伺服器來執行,並從來源伺服器擷取物件。
本主題說明如何啟動方法、定義對映規則以及配置替代 Proxy 伺服器。
用戶端對伺服器的要求包含了一個方法欄位, 這個欄位指明伺服器在指定的物件上所要執行的動作。
以下是 Proxy 伺服器支援的方法清單,並說明它如何回應含有方法的用戶端要求(如果已啟用這個方法)。
POST 方法是針對處理現存資源的註釋作業而設計的。這些範例包括將訊息公佈到公佈欄、新聞群組、郵件清單或類似的資源群組;提供資料區塊(例如,從表單到資料處理程式); 或經由附加作業來擴大資料庫。在 Caching Proxy 中, POST 方法是用來處理配置與管理表單。
這個方法能在持續性連線上處理。
啟用 PUT 方法能讓您使用 HTTP 和 FTP 來將檔案寫入 Caching Proxy。 由於 PUT 可讓用戶端寫入 Caching Proxy,所以您必須使用伺服器保護設定,定義哪些人可使用 PUT 及哪些檔案可使用 PUT。(請參閱伺服器保護設定。)
下列指引會啟動 HTTP/FTP 方法:
如果需要詳細資訊,請參閱手動編輯 ibmproxy.conf 檔。
下列配置與管理表單編輯相關指引的值:
如果需要詳細資訊,請參閱使用配置與管理表單。
對映規則是配置指引,它可利用某些方式(例如,傳遞至來源伺服器 (proxied)、重新導向與拒絕)來處理對 Caching Proxy 的用戶端要求。正確地設定對映規則對於您 Caching Proxy 的正常運作來說是非常重要的。對映規則會影響下列各項:
對映規則指引使用下列表單:
rule template target [IP_address | host_name]:[port]
只有符合給定的範本與 IP 埠組合的要求才受到該規則的管理。範本可以包含萬用字元,例如,https://**/*.asp。
規則在配置檔中所顯示的順序是有意義的。除了 Map 指引之外,只要當要求符合範本,它就會被處理,且不評估後續的規則。Map 指引會取代要求中的 URL。會繼續將這項新的要求比作剩餘的對映規則。
下列對映規則適用於符合給定的範本之用戶端要求:
下列對映規則適用於來源伺服器回應:
下列對映規則適用於 API 應用程式:
如果要配置標準替代,請執行下列動作:
Port 80
Proxy /* http://our.content.server.com/* :80
AdminPort 8080
這可將埠 80 上的所有 HTTP 資料傳輸 Proxy 至來源伺服器。在管理埠輸入的資料傳輸並不符合起始萬用字元 Proxy 規則,因此不受到影響。使用剩餘對映規則來處理要求。
下列指引定義對映規則:
如果需要詳細資訊,請參閱手動編輯 ibmproxy.conf 檔。
下列配置與管理表單編輯相關指引的值:
如果需要詳細資訊,請參閱使用配置與管理表單。
JunctionRewrite 指引會在 Caching Proxy 中啟用接合重新撰寫常式,以便重新撰寫來自來源伺服器的回應,以確定在使用接合時,伺服器相關 URL 會對映到適當的來源伺服器。 同時必須啟用接合重新撰寫外掛程式。接合是由 Proxy 對映規則所定義。
當利用 Proxy 對映規則來定義接合時,您可以包含或不含 JunctionPrefix 選項來使用 Proxy 指引。
下列是一些可以對接合重新撰寫常式起作用之有效的接合範例:
以下是接合重新撰寫常式無法處理的有效接合範例:
下列是一些無效的接合範例:
這些對映規則已經建立 shopserver、authserver 和 b2bserver 的接合。請考慮到 shopserver 會以下列包含於適當的 HTML 標籤中的 URL 傳回 HTML 文件:
接合重新撰寫常式將使用 Proxy 對映規則重新撰寫伺服器關聯參照,如下所示:
當在 Proxy 指引中使用 JunctionPrefix 選項,而不是從 Proxy 規則中的第一個 URL 型樣推斷 JunctionPrefix 時,您可以利用下列格式,在 Proxy 規則中宣告接合字首:
Proxy url_patern1 url_pattern2 JunctionPrefix:url_prefix
當使用 JunctionPrefix 時,第一個 URL 型樣的格式沒有限制。 如果要在未使用 JunctionPrefix 選項時支援接合重新撰寫,Proxy URL 必須有下列格式:Proxy /market/* http://b2bserver/*。 不過,當使用 JunctionPrefix 時,下列 Proxy 規則對接合重新撰寫有效:
Proxy /market/partners/*.html http://b2bserver.acme.com/*.html
junctionprefix:/market/partners
接合重新撰寫常式會影響下列標籤:
| 標籤 | 屬性 |
|---|---|
| !-- | URL |
| a | href |
| applet | archive, codebase |
| area | href |
| base | href |
| body | background |
| del | cite |
| embed | pluginspage |
| form | action |
| input | src |
| frame | src, longdesc |
| iframe | src, longdesc |
| ilayer | src, background |
| img | src, usemap, lowsrc, longdesc, dynsrc |
| layer | src, background |
| link | href |
| meta | url |
| object | data, classid, codebase, codepage |
| script | src |
| table | background |
| td | background |
| th | background |
| tr | background |
下列是用來啟用接合重新撰寫常式和外掛程式的指引。
如果需要詳細資訊,請參閱手動編輯 ibmproxy.conf 檔。
下列配置與管理表單可以用來啟用接合重新撰寫外掛程式的指引。
如果需要詳細資訊,請參閱使用配置與管理表單。
您可以使用 Cookie 來儲存後端伺服器資訊,如下所示:Cookie 會傳送至用戶端瀏覽器。當瀏覽器傳送 HTML 頁面中之資源的要求時, 它會連接一個 Cookie,使得 Caching Proxy 將這些要求轉遞給正確的後端伺服器。
如果要使用 Cookie 做為 JunctionRewrite 的替代方案,請如下修改 ibmproxy.conf 檔:
以下是 JunctionRewrite 外掛程式和 Cookie 實作的比較。
Proxy /no-juntion.jpg http://login-server/no-junction.jpg
系統提供了可自訂的範例程式碼,其重新撰寫並剖析了 HTML 檔中的 JavaScript(TM) (SCRIPT) 和 Applet (APPLET) 標籤區塊。JunctionRewrite 外掛程式不能獨自處理 JavaScript 中或是 Java(TM) 參數值中的資源鏈結。
在安裝 Caching Proxy 之後,您可以編譯相同的程式碼,並將它配置成和 JunctionRewrite 一起執行。
下列範例檔位於您下載修正套件之目錄下的 ...samples/cp/ 子目錄中。
使用 Pass 與 Exec 對映規則來將本端內容遞送至要求用戶端。依預設,具有萬用字元範本的 Pass 規則會置於最後一個對映規則。這個規則會導引所有不符合之前的範本之要求,以從目標目錄中擷取檔案,這通常是指文件的根目錄。
當接收到的 URL 不包含檔名時,Caching Proxy 會搜尋指定的目錄(如果有提供目錄)或是文件起始目錄(如果沒有指定目錄), 尋找符合配置檔中所指定的歡迎頁面清單的檔案,以滿足該要求。如果已定義數個歡迎頁面,Proxy 伺服器會按照定義它們的順序來搜尋頁面。提供第一個找到的歡迎頁面。
伺服器首頁是指伺服器在接收到僅含伺服器 URL(不含目錄或檔名)的要求時, 在預設的狀況下傳遞 Web 頁面。 如先前解釋一般,預設萬用字元對映規則需要伺服器首頁儲存在文件起始目錄之中, 且首頁檔名符合已定義的歡迎頁面。
預設的文件起始目錄是:
下列指引會定義文件起始目錄:
如果需要詳細資訊,請參閱手動編輯 ibmproxy.conf 檔。
如果要變更配置與管理表單中的文件起始目錄,請使用下列程序:
重新啟動之後,伺服器便開始使用新的文件起始目錄了。
如果需要詳細資訊,請參閱使用配置與管理表單。
伺服器在文件起始目錄中尋找首頁,但所傳回的特定檔案由歡迎頁面清單所定義。
關於歡迎頁面
當伺服器收到不指定檔名的 URL 要求時,它會嘗試根據伺服器配置檔中設定的歡迎頁面清單來滿足該要求。這份清單定義一些檔案,作為預設首頁使用。伺服器可藉由比對歡迎頁面清單與文件起始目錄中的檔案來決定首頁。第一個找到的相符檔案,就被當作您的首頁傳回。如果找不到符合的檔案, 伺服器會顯示文件起始目錄的清單。
如果要將某特定檔案當作您的伺服器首頁使用,並在要求未指定目錄或檔名時傳回,您必須將該檔案放置在文件起始目錄下,並確定其名稱符合歡迎頁面清單中列出的其中一個檔名。
預設配置檔以下列順序定義要作為歡迎頁面的這些檔名:
伺服器會傳回它找到符合清單中某一檔名的第一個檔案。在建立 welcome.html 或 index.html 檔,並將該檔案放在文件起始目錄中之前,伺服器一直都是將 Frntpage.html 當作您的首頁。
比方說,如果您是使用預設配置,而文件起始目錄雖然不含名為 welcome.html 的檔案, 但卻含有名為 index.html 和 FrntPage.html 的檔案,則 index.html 檔就是您的首頁。
如果找不到首頁,則文件起始目錄的內容會顯示成一個目錄。
下列指引定義歡迎頁面:
如果需要詳細資訊,請參閱手動編輯 ibmproxy.conf 檔。
下列配置與管理表單定義歡迎頁面:
如果需要詳細資訊,請參閱使用配置與管理表單。
Caching Proxy 可對適當的 FTP 伺服器發出 FTP URL 要求,但無法用來發出 FTP 用戶端要求。 它僅能支援從 HTTP 用戶端接收的 FTP 要求 (利用 ftp:// 通訊協定架構)。
FTP 檔案的要求只支援 GET、PUT 和 DELETE 方法。而 FTP 目錄清單的要求只支援 GET 方法。 依預設,Caching Proxy 中不啟用 PUT 和 DELETE。 如果需要詳細資訊,請參閱啟動 HTTP/FTP 方法。
本主題說明保護 FTP 檔案與管理 FTP 伺服器登入、目錄路徑與鏈結的方式。
如果您已經針對 FTP 檔案上載啟用 PUT 方法, 或者針對 FTP 檔案刪除啟用 DELETE 方法, 則至少要針對 PUT 和 DELETE 要求定義 FTP Proxy 保護, 以防止在 FTP 伺服器上有未經授權的檔案更新。
如果要保護發送的 FTP 要求,請在配置與管理表單中,選取伺服器配置 -> 文件保護。如果要對 FTP 檔案要求建立保護設定, 請在要求範本的開頭併入 ftp://。比方說,如果要保護名為 exams 目錄中的檔案,請使用範本 ftp://exams/*。
如果需要建立保護設定的詳細資訊,請參閱伺服器保護設定。
如果要求 URL 中沒有指定任何使用者 ID 和密碼,Caching Proxy 會以匿名方式(使用使用者 ID ANONYMOUS)登入所要求的 FTP 伺服器。許多 FTP 伺服器需要電子郵件位址作為匿名 FTP 的密碼。 如果 FTP 伺服器要求匿名登入的密碼,Caching Proxy 會送出配置檔中 WebmasterEmail 指引所指定的電子郵件位址。
如果要設定網站管理者電子郵件位址,請在配置與管理表單中選取伺服器配置 -> 系統管理 -> SNMP MIB。電子郵件位址也可以使用 WebmasterEmail 指引來設定;詳細資訊,請參閱參考章節:WebMasterEMail -- 設定電子郵件位址來接收選取伺服器報告。
如果要求 URL 中的 FTP 伺服器需要特定的使用者 ID 和密碼才能登入,使用者可在要求 URL 中輸入使用者 ID 和密碼,如下所示:
ftp://userid:password@ftpserverhost/
如果您不要在要求 URL 中指定 FTP 使用者 ID 的密碼,使用者可以在 URL ftp://userid@ftpserverhost 中僅輸入使用者 ID。Caching Proxy 先嘗試以指定的使用者 ID 及不指定密碼來登入 FTP 伺服器。 如果未指定密碼的登入失敗,瀏覽器會提示您輸入與指定使用者 ID 關聯的密碼。
如果不使用匿名登入,至少要在 URL 中指定使用者 ID。 如果沒有指定使用者 ID,則會採用匿名登入,並且用戶端不會提示您輸入使用者 ID。
Caching Proxy 可讓您指定是否將 FTP URL 中的路徑名稱解譯為相對於使用者工作目錄,或相對於根目錄。 比方說,如果登入 FTP 伺服器的使用者具有預設工作目錄 /export/home/user1, 並且想從 test 子目錄中擷取 test1.exe 檔,Proxy 會根據解譯 FTP URL 的方式,使用下列 URL 來從 FTP 伺服器擷取檔案:
如果設定的是相對 FTP URL 路徑,使用者還是可以指定絕對路徑名稱來表示根目錄, 方法是使用以 %2F 跳開起始斜線字元 (/) 的慣例。 比方說,如果工作目錄為 /export/home/user1 的 user1 想要存取 user2 的工作目錄 /export/home/user2 中的某個檔案,則即使已選擇相對 FTP URL 路徑名稱, ftp://user1:user1pw@FTPhost/%2Fexport/home/user2/file 要求也會被正確解譯為相對於根目錄 / 的 URL(亦即,解譯為絕對路徑名稱)。
如果要指定如何解譯 FTP URL,請在配置與管理表單中選取 Proxy 配置 -> Proxy 效能。在表單下層部分,請於 FTP URL 路徑應該是:之下選取絕對路徑來指定伺服器的根目錄,或選取相對路徑來指定使用者的工作目錄為起始路徑。
這項設定也可以在 Proxy 配置檔中變更;如果需要詳細資訊,請參閱FTPUrlPath -- 指定如何解譯 FTP URL。
如果您將多個 Web Proxy 伺服器鏈結在一起,可以指定將含有 FTP URL 的要求傳送到鏈結的 Web Proxy 伺服器,而不是直接傳送到 FTP 伺服器。 如果要為 FTP 要求指定鏈結的 Proxy 伺服器,請在配置與管理表單中選取 Proxy 配置 -> Proxy 鏈結與非 Proxy 網域。 使用 http:// 通訊協定架構來指定鏈結的 Proxy 之 URL,即使鏈結要求使用 ftp:// 通訊協定架構。
如果要使用 Proxy 配置檔來配置 FTP 鏈結,請參閱ftp_proxy -- 指定針對 FTP 要求的另一部 Proxy 伺服器中的參考章節。
本主題將說明如何使用伺服器端併入,將資訊插入傳遞給用戶端的 CGI 程式及 HTML 文件。也將討論如何自訂伺服器的錯誤訊息和資源對映。
伺服器端併入可讓您在伺服器作為來源伺服器(亦即非 Proxy 或快取物件)時, 將資訊加入 CGI 程式及該伺服器傳給用戶端的 HTML 文件中。 可以傳送到用戶端的資訊範例為目前的日期、檔案的大小、檔案的最後變更日期等。本節說明伺服器端併入的指令格式,並說明如何在 CGI 程式及 HTML 文件中使用伺服器端併入指令。您亦可以使用伺服器端併入來自訂錯誤頁面。
在伺服器上使用伺服器端併入前,請考慮效能、安全性及風險方面的問題:
如果要啟用伺服器端併入,請在配置與管理表單中選取伺服器配置 -> 基本設定。這份表單可讓您指定下列哪些伺服器端併入類型可以被接受:
除了其他檔案類型之外,這份表單也可讓您指定是否要對文字或 HTML 文件執行伺服器端併入處理程序。
此外,請確定用於併入的副檔名可供辨識。在配置與管理表單中,選取伺服器配置 -> MIME 類型及編碼,以及使用 MIME 類型表單。請注意:依預設,shtml 和 htmls 副檔名會被辨識。
如果要藉著編輯 Proxy 配置檔中的指引,配置適用來伺服器端併入的伺服器,請參閱下列指引的參考章節:
併入指令必須併入 HTML 文件或 CGI 程式作為註解。其指令格式如下:
<!--#directive tag=value ... --> 或 <!--#directive tag="value" ... -->
括住值的雙引號為選用性的,但用於內含的空格時則為必要的。
本節說明伺服器接受可進行伺服器端併入的指引。 (這些指引不可以與 Proxy 配置檔中的指引發生混淆,附錄B. 配置檔指引中有說明。)
config--控制檔案的處理程序
請使用這個指引來控制檔案處理的某些方面。有效的標籤為 cmntmsg、errmsg、sizefmt 和 timefmt。
範例:
<!--#config cmntmsg="[This is a comment]" --> <!-- #echo var=" " extra text -->
結果:<!--[This is a comment] extra text -->
預設值: [the following was extra in the directive]
範例:
<!-- #config errmsg="[An error occurred]" -->
預設值: "[An error occurred while processing this directive]"
範例 1:
<!--#config sizefmt=bytes --> <!--#fsize file=foo.html -->
結果:1024
範例 2:
<!--#config sizefmt=abbrev --> <!--#fsize file=foo.html -->
結果:1K
預設值:"abbrev"
範例:
<!--#config timefmt="%D %T" --> <!--#flastmod file=foo.html -->
結果:"10/18/95 12:05:33"
預設值:"%a, %d %b %Y %T %Z"
下面的 strftime() 格式都可以使用 timefmt 標籤:
| 指定元 | 意義 |
|---|---|
| %% | 取代為 % |
| %a | 取代為縮寫的工作日名稱 |
| %A | 取代為完整工作日名稱 |
| %b | 取代為縮寫的月份名稱 |
| %B | 取代為完整月份名稱 |
| %c | 取代為日期與時間 |
| %C | 取代為世紀數(年份除以 100 並捨去尾數) |
| %d | 取代為月日 (01-31) |
| %D | 以 %m/%d/%y 格式插入日期 |
| %e | 以十進位數 (01-12) 插入月份(僅在 C POSIX 下,其長度為兩個字元、靠右補滿空白的欄位) |
| %E[cCxyY] | 如果另一個日期/時間格式無法使用,%E 描述子會對映至無前置符號的對等指定元(例如,%EC 對映至 %C) |
| %Ec | 取代為另一個日期與時間 |
| %EC | 取代為另一個基本年份(期間)名稱 |
| %Ex | 取代為另一個日期格式 |
| %EX | 取代為另一個時間格式 |
| %Ey | 取代為替代格式中 %EC(僅年份)的偏置值 |
| %EY | 取代為另一個完整的年份格式 |
| %h | 取代為縮寫的月份名稱(與 %b 相同) |
| %H | 取代為十進位數 (00-23) 的小時格式(23 小時制) |
| %I | 取代為十進位數 (00-12) 的小時格式(12 小時制) |
| %j | 取代為年日 (001-366) |
| %m | 取代為月份 (01-12) |
| %M | 取代為分鐘 (00-59) |
| %n | 取代為另一行 |
| %O[deHlmMSUwWy] | 如果另一個日期/時間格式無法使用,%E 描述子會對映至其無前置符號的對等指定元(例如,%Od 對映至 %d) |
| %Od | 使用替代的數值符號取代月日,如果指定了前置零的替代符號,必要時,還得在數字前加上前置零;如果沒有指定,則只加前置空格 |
| %Oe | 使用替代的數值符號取代月日,必要時還要加上前置空格 |
| %OH | 使用替代數值符號取代小時格式(24 小時制) |
| %OI | 使用替代數值符號取代小時格式(12 小時制) |
| %Om | 使用替代數值符號取代月份 |
| %OM | 使用替代數值符號取代分鐘 |
| %OS | 使用替代數值符號取代秒鐘 |
| %OU | 使用替代數值符號取代一年中的星期數(星期天是一週的第一天,規則同 %U) |
| %Ow | 使用替代數值符號取代工作日(星期天=0) |
| %OW | 使用替代數值符號取代一年中的星期數(星期一為一週的第一天) |
| %Oy | 取代為替代格式中的年份(%C 算起的偏置值)並使用替代數值符號 |
| %p | 取代為 AM 或 PM 的當地同義字 |
| %r | 取代為相當於 %I:%M:%S %p 的字串 |
| %R | 取代為 24 小時制的時間 (%H:%M) |
| %S | 取代為秒鐘 (00-61) |
| %t | 取代為標籤 |
| %T | 取代為相當於 %H:%M:%S 的字串 |
| %u | 取代為十進位數(1 至 7)的工作日,其中 1 代表星期一 |
| %U | 取代為一年中的星期數 (00-53),其中星期日為一週的第一天 |
| %V | 取代為一年中的星期數 (01-53),其中星期一為一週的第一天 |
| %w | 取代為工作日 (0-6),其中星期日為 0 |
| %W | 取代為一年中的星期數 (01-53),其中星期一為一週的第一天 |
| %x | 取代為適當的日期格式 |
| %X | 取代為適當的時間格式 |
| %y | 取代為世紀內的 2 位數年份 |
| %Y | 取代為完整的 4 位數年份 |
| %Z | 取代為時區名稱;無法辨別的時區則保留空白 |
作業系統配置會決定完整及簡式的月份名稱及年份。
echo--顯示變數值
請使用這個指引,顯示用 var 標籤所指定的環境變數值。如果沒有找到變數, 則會顯示出(無)。同樣地,echo 可顯示 set 或 global 指引所設定的值。 下列環境變數可以顯示出來:
範例:
<!--#echo var=SSI_DIR -->
exec--指定 CGI 程式
請使用這個指引來併入 CGI 程式的輸出。Exec 指引會捨棄 CGI 輸出的任何 HTTP 標頭,除了下列項目以外:
cgi--指定 CGI 程式 URL
請使用這個指引來指定到 CGI 程式的 URL。
在這個範例中,program 代表所要執行的 CGI 程式; path_info 和 query_string, 皆為傳給程式作為環境變數的參數:
<!--#exec cgi="/cgi-bin/program/path_info?query_string" -->
這個範例顯示如何使用變數:
<!--#exec cgi="&path;&cgiprog;&pathinfo;&querystring;" -->
flastmod--顯示上次變更文件的日期與時間
請使用這個指引,顯示文件上次變更的日期及時間。 這個變數的格式製作是由 config timefmt 指引所定義。file 與 virtual 標籤可與這個指引並用, 其意義定義如下。
指引格式:
<!--#flastmod file="/path/file" --> <!--#flastmod virtual="/path/file" -->
<!--#flastmod file="/path/file" -->
<!--#flastmod virtual="/path/file" -->
範例:
<!--#flastmod file="foo.html" -->
結果:12May96
fsize--顯示檔案大小
請使用這個指引來顯示指定檔案的大小。這個變數的格式製作是由 config sizefmt 指引所定義。file 與 virtual 標籤可與這個指引並用, 其意義與先前在 flastmod 指引中所定義的相同。
範例:
<!--#fsize file="/path/file" --> <!--#fsize virtual="/path/file" -->
結果:1K
global--定義廣域變數
使用這個指引來定義廣域變數,這些變數稍後會被由這個檔案或任何併入的檔案所回應。
範例:
<!--#global var=VariableName value="SomeValue" -->
比方說,如果要跨越虛擬界限參照上層文件,您必須設定廣域變數 DOCUMENT_URI。您亦須參照下層文件中的廣域變數。這個範例顯示您需要在上層文件中插入的 HTML 編碼:
<!--#global var="PARENT_URI" value=&DOCUMENT_URI; -->
這個範例顯示您需要在下層文件中插入的 HTML 編碼:
<!--#flastmod virtual=&PARENT_URI; -->
include--將文件併入輸出中
這個指引可用來將文件中的文字併入到輸出中。file 與 virtual 標籤可與這個指引並用, 其意義與以上在 flastmod 指引中所定義的相同。
set--設定要回應的變數
請使用這個指引來設定變數(稍後只能由這個檔案加以回應)。
範例:
<!--#set var="Variable 2" value="AnotherValue" -->
在定義指引時,您可以在 value 的中間回應字串。 例如:
<!--#include file="&filename;" -->
變數:伺服器端 set 指引其後通常緊接 echo 指引,以便尋找 set 變數,然後在找到變數的位置加以回應,並以該函數加以處理。它可包含變數的多重參照。 伺服器端設定亦可讓您回應已設定的變數。 如果沒有找到 set 變數,則不會有任何顯示。
當伺服器端設定在伺服器端併入指引中遇到變數參照時, 它會嘗試在伺服器端解析它。 在下列範例的第二行中,伺服器端變數 &index; 搭配字串 var 使用來建構變數名稱 var1。 接著跳出 ê 中的 & 來指定一個值給變數 &var1;, 這樣它就不會被辨識為變數。相反地,它被用作一個字串來建立 frêd 值,或 e 上面有重音符號的 fred。 變數 ê 為用戶端變數。
<!--#set var="index" value="1" --> <!--#set var="var&index;" value="fr\êd" --> <!--#echo var="var1" -->
可以跳出的字元(稱為跳出變數)前面有一條反斜線 (\),包括下列各項:
| 字元 | 意義 |
|---|---|
| \a | 警示(鈴聲) |
| \b | 倒退鍵 |
| \f | 換頁(新頁) |
| \n | 換行 |
| \r | 回車 |
| \t | 水平欄標 |
| \v | 垂直欄標 |
| \' | 單引號 |
| \" | 雙引號 |
| \? | 問號 |
| \\ | 反斜線 |
| \- | 連字符號 |
| \. | 句點 |
| \& | &符號 |
您可以自訂 Caching Proxy 傳回的錯誤訊息,也可針對特定的錯誤狀況來定義特定訊息。在配置與管理表單中選取伺服器配置 -> 錯誤訊息自訂。 這份表單可讓您選取錯誤狀況及指定用於該狀況的特定 HTML 檔。
如果要編輯 Proxy 配置檔中的指引來自訂錯誤訊息,請參閱指引的參考章節:ErrorPage -- 為特定的錯誤狀況指定一個自訂的訊息。
WebSphere Application Server 6.0.1 版以「RTSP 重導程式」格式介紹串流媒體支援。RTSP 可使 Caching Proxy 充當連繫媒體播放程式的第一個點, 並將它們的要求重新導向至適當的 Proxy 伺服器或能夠提供所要求的媒體內容的內容伺服器。
RTSP(「即時串流通訊協定」)定義於 RFC 2326 中。它是一種用來控制資料串流的網際網路標準通訊協定。雖然它沒有加入傳遞串流的技術, 但它還是有足夠的彈性能用來控制與影像或音效播放不相關的資料串流。
RTSP 重新導向特性,可讓 Caching Proxy 重新導向 RTSP 控制的任何串流媒體階段作業的要求。包括下列媒體類型:
可配置來聯繫 RTSP 埠(通常指 554)上的 Proxy 伺服器之任何播放程式, 皆可在 Caching Proxy 中使用這個組織架構,讓它的要求由 RTSP 重導程式處理。
RTSP 重導程式不會快取或直接 Proxy 媒體的呈現。RTSP 重導程式必須搭配協力廠商串流媒體伺服器使用, 才能提供任何或全部功能。 具有 RTSP 重導程式的 Caching Proxy 必須有跨一或多個 RTSP Proxy 伺服器的網路存取權。
這項特性受到下列限制:
目前,僅支援 RealNetworks 技術。 這些包括 RealProxy Proxy 伺服器、RealServer 來源伺服器及 RealPlayer 媒體播放程式。
先前,「RTSP 重導程式」受到限制,任何 URL 對相同來源伺服器的所有要求均以相同方式重新導向。 根據檔名或所要求的 URL 其他部分來重新導向是不可能的。這項限制不再適用。「RTSP 重導程式」目前使用來自所接收要求的完整 URL 和 Caching Proxy 配置檔中的臨界值 (rtsp_proxy_threshold) 設定,來判定是否將用戶端要求重新導向至來源伺服器或 Proxy 伺服器。現在相同來源伺服器的要求可個別處理。
下列配置檔指引可用來控制 RTSP 重新導向。 這些指引的設定不會因伺服器重新啟動而被重新整理; 伺服器必須完全停止後再重新啟動,這些指引的變更才會生效。
當要求文件時,Web 用戶端會傳送標頭,這些標頭提供瀏覽器或要求的其他相關資訊。 只要傳送要求時,就會自動產生標頭。
Caching Proxy 有許多選項,可以讓您自訂標頭資訊,使其隱藏而不被目的地伺服器發現。 以其他同屬標頭替代實際標頭的優點是可以增加用戶端匿名, 但是缺點是會停用寫入某些網頁的標頭型頁面自訂。
通常標頭使用下列格式:
User-Agent: Mozilla 2.02/OS2 Client-IP: 45.37.192.3 Referer: http://www.bigcompany.com/WebTrafficExpress/main.html
這個標頭包括下列欄位:
大部分標頭可藉由適當的 Proxy 配置設定來攔阻。 不過,有些標頭欄位是來源伺服器所必要的,如果將它們攔阻,可能會使網頁無法正確顯 示(例如,在某些情況下,攔阻 "host" 標頭欄位會造成使用者看到錯誤的網頁)。 如果需要標頭欄位的進一步資訊,請參閱 HTTP 1.1 版的規格。
如果要編輯 Proxy 配置檔來變更標頭選項,請參閱下列指引的參考章節:
如果需要詳細資訊,請參閱手動編輯 ibmproxy.conf 檔。
您可以使用兩個配置與管理表單來指定標頭選項:
如果您想要將要求用戶端的 IP 位址轉送到目的地(內容)伺服器,請勾選這個勾選框。 如果沒有勾選這個勾選框,目的地伺服器就會收到 Proxy 伺服器的 IP 位址。如果取消勾選這個勾選框,則會在連接 Web 時增加用戶端的匿名。
在標頭輸入字串,傳送給目的地伺服器,以取代用戶端使用的瀏覽器及作業系統類型。 例如:在下列標頭中指定 Caching Proxy 4.0 取代 Mozilla 2.02/OS2:
Content-Type:MIME User-Agent: Mozilla 2.02/OS2 Referer: http://www.ics.raleigh.ibm.com/WebTrafficExpress/main.html Pragma:no-cache
輸入目的地伺服器在剖析 "From:" 標頭時所讀取的電子郵件位址。 您可能想要指定 Proxy 管理者的電子郵件位址,因為管理者是需要接收任何問題報告的人。
如果需要詳細資訊,請參閱使用配置與管理表單。
在 Programming Guide for Edge Components 中會詳細說明應用程式設計介面 (API)。配置檔內的 API 指引啟用要求處理程序工作流程內的外掛程式常式,其為在特定的步驟期間所呼叫。這些外掛程式常式,還有內建常式能取代或執行。
下列是 API 指引:
如果需要詳細資訊,請參閱手動編輯 ibmproxy.conf 檔。
下列配置與管理表單編輯相關指引的值:
如果需要詳細資訊,請參閱使用配置與管理表單。
本節討論 Proxy 快取與配置它的方法。快取可以設定成在記憶體中(快取記憶體)或在一或多個儲存裝置(磁碟快取)上儲存檔案。 您可以配置快取重新整理代理程式,將經常要求的檔案預載到快取記憶體,而且各種 URL 過濾器可以套用到快取。 本節亦討論藉由使用遠端快取存取或網際網路快取通訊協定 (ICP) 外掛程式、以快取記憶體回收來移除已作廢的檔案, 以及快取動態產生的檔案等方式來快取共用。
這個部分包含下列各主題:
快取是一項特性,Proxy 伺服器利用它儲存用戶端要求的本端檔案複本, 如此一來當相同或其他用戶端重新要求這些檔案時,伺服器就可以快速地從快取提供它們。
Caching Proxy 符合 HTTP 1.1,它通常遵循 HTTP 1.1 通訊協定來快取及判斷文件的即時性。
本章討論 Proxy 伺服器快取部分特性。對於這些可以配置的特性,後續的章節中包含了如何設定適當值的詳細說明。
Proxy 伺服器能在實體儲存體裝置或系統記憶體上儲存快取。比較適合您系統的快取儲存體的類型取決於您的硬體功能, 以及擁有快速的快取回應或在快取中儲存有大量項目是否較為重要。記憶體快取的回應時間通常比磁碟快取的回應時間來得快,但是 Proxy 伺服器機器中的 RAM 數量限制了記憶體快取大小。儲存裝置的大小限制了磁碟快取大小,而儲存裝置的大小通常大於 RAM 的數量。
針對磁碟快取,Caching Proxy 使用原始資料磁碟快取,這表示 Proxy 伺服器會直接寫入快取裝置而不使用作業系統的讀寫通訊協定。必須使用 htcformat 指令來準備磁碟快取的儲存裝置。關於 htcformat 的詳細說明,包含在配置基本快取一節之中。
在記憶體或磁碟快取中,Caching Proxy 也使用系統記憶空間來保留快取索引,這樣能減少尋找快取檔的處理時間。
Caching Proxy 的快取目錄結構及其查閱方法與其他 Proxy 伺服器不同。Caching Proxy 使用快取中的檔案之資訊來維護記憶體中的索引。 使用 RAM 執行查閱而不使用磁碟或其他媒體,會加速檔案查閱及擷取。
索引包含快取物件的 URL、快取位置及有效時間資訊。 基於這個原因,保留索引所需的記憶體量與快取中的物件數目成正比。
當由用戶端接收要求之後,Proxy 會檢查記憶體中該快取索引的 URL。
當配置 Proxy 來快取要求時,它可以快取 FTP 檔案要求及 HTTP 檔案要求。 不過,因為 FTP 檔案不含與 HTTP 檔案同類型的標頭資訊, 所以計算快取 FTP 檔案到期日的方式與其他快取檔案不同。
當您對 FTP 伺服器發出要求擷取檔案時,Proxy 會先傳送檔案的 LIST 要求給 FTP 伺服器, 取得有關這個檔案的 FTP 目錄資訊。如果 FTP 伺服器是以正面的完整回覆及檔案的目錄資訊,作為 LIST 要求的回應,Proxy 便會以 FTP 目錄資訊中所剖析之日期來建立 HTTP Last-Modified 標頭。 然後,Proxy 的快取功能便會將這個 Last-Modified 標頭,與配置檔中 CacheLastModifiedFactor 指引中所設定的值搭配使用,來決定 FTP 檔案在到期之前可留在快取中的時間。
如何使用 Last-Modified 標頭及 CacheLastModifiedFactor 指引來決定檔案在快取中的保留期限之詳細資訊, 請參閱維護快取記憶體內容。
為特定使用者 ID(而不是匿名登入)擷取的 FTP 檔案,都被視為不能快取的專用檔案。
除了快取 Web 內容以外,Proxy 伺服器亦執行網域名稱伺服器 (DNS) 快取。 例如,用戶端向 www.myWebsite.com 要求 URL 時,Proxy 會要求它的 DNS 伺服器將主機名稱 www.myWebsite.com 解析成 IP 位址。 然後快取 IP 位址,以縮短對該主機名稱的後續要求的回應時間。DNS 快取是自動的,因此無法重設配置。
某些檔案與文件永遠不會被快取。它們包含下列各項:
可藉由設定快取過濾器進一步地限制快取的項目。例如,您可能不要 Proxy 伺服器從 Proxy 快取本端提供的檔案。詳情請參閱控制已快取的部分。
管理快取功能包括許多因素在內。 身為伺服器管理者,您可以指定下列各項:
此外,可以對快取配置做調整以改進 Caching Proxy 的整體效能。如果要取得有關效能調整的詳細資訊,請參閱調整 Proxy 伺服器快取。
如果您使用 Edge Components 產品安裝程式 中的預設設定來安裝 Caching Proxy,會啟用快取並將快取儲存在記憶體中。您或許想要調整下列基本快取設定以自訂您的系統所需要的快取。
如果您不使用安裝程式,請配置這些設定以啟用快取。
配置快取的必要基本步驟如下:
配置基本快取設定之後,您或許要新增或變更下列特性的設定。
本章提供關於變更這些設定中的每一個的指示。
如果要啟用快取,請將 Caching 指引設定為 on, 或勾選快取配置->快取設定配置表單上的啟動 Proxy 快取方框。如果您不指定快取裝置,就會將快取儲存在記憶體中。如果要建立磁碟快取,請遵循 2. 配置快取儲存體 中的步驟。
配置快取儲存體的作業取決於您是否使用記憶體快取或磁碟快取。
如果要使用記憶體快取,請自訂「快取記憶體」設定,這樣就能包含足夠的記憶體以保留快取的內容。建議的快取記憶體大小,請參閱設定快取記憶體。
如果要使用磁碟快取,您必須執行下列動作:
快取需要特殊格式化裝置。建議提供整個裝置或磁碟分割區給快取。 最小的快取是 16392 KB。
如果要格式化快取裝置,請執行下列動作:
htcformat raw_device_path [-blocksize block_size] [-blocks number_of_blocks]-blocksize 和 -blocks 引數是選用性的引數。 預設區塊大小是 8192 位元組數。 如果沒有指定區塊數目,就會以磁碟分割區可容納的最大區塊數目填入磁碟分割區。
指定裝置路徑時,一定要指定原始裝置路徑。
raw /dev/raw/raw1 dev/sdb1
存取原始裝置的其餘資訊,請參閱檔案系統的參考資料。
如果作業系統嘗試寫入快取裝置,就會遺失快取資料。 為了避免發生上述情況,您可使用「Windows 磁碟管理程式」公用程式來準備磁碟之後,才使用 htcformat 指令。如果要準備磁碟,請使用磁碟公用程式來刪除您要使用的裝置或分割區,然後重新建立它但不必加以格式化。 這將會使系統認為該裝置無法用於系統儲存體。
依據下列原則,在 CacheMemory 指引(或在快取設定配置表單的快取記憶體欄位)中設定值。這個值所設定的記憶體數量是用於快取基礎架構支援,包含快取索引以及(如果有配置記憶體快取的話)儲存快取記憶體內容。
在磁碟快取的最佳效能方面,建議對快取基礎架構支援使用(包含快取索引)的快取記憶體最小值為 64 MB。隨著快取記憶體大小的增加,快取索引也會跟著增加,而且需要更多的快取記憶體來儲存索引。64 MB 的快取記憶體值是足夠提供快取基礎架構支援,以及儲存大概 6.4 GB 磁碟快取的快取索引。如果需要更大的磁碟快取,則快取記憶體必須要有快取大小的 1% 大小。
在記憶體快取方面,快取記憶體值是快取基礎架構支援和快取本身記憶體擱置的量。建議的快取記憶體最小值為 64 MB。
如果對記憶體快取配置太多實體記憶體, 那麼可能會發生不希望發生的事情,例如「記憶體不足」錯誤或 Proxy 伺服器失敗。 快取記憶體的值限制是由於 32 位元應用程式的限制所導致。 因為 Caching Proxy 是 32 位元應用程式,所以它最多可以使用 2 GB 記憶體。
Caching Proxy 會配置 CacheMemory 指引所定義的記憶體,並使用該記憶體作為儲存物件的快取記憶體。對於快取記憶體、網路 I/O 和連線緩衝區、階段作業緩衝區的資料結構, 以及主要程序和所有執行緒的記憶體來說,必須配置其他記憶體(無論它是記憶體快取或原始磁碟快取)。 而且,來自某些用戶端的要求有可能需要配置比預設值更大的記憶體儲存區的區塊。 因此,如果將 CacheMemory 指引設定為接近 2 GB 標記, 那麼 Caching Proxy 有可能會發生記憶體不足而無法運作的狀況,特別是在高要求負載的情況下。
建議 CacheMemory 指引不可設為超過 1600 MB。 值如果超過 1600 MB,會妨礙 Caching Proxy 一般操作所使用的記憶體, 而引起反效果。這些反效果一般包括,但不限於 CPU 使用量的增加(可能高達 100% 使用量)、記憶體不足的錯誤以及效能降低。 如果需要整體較大快取記憶體大小,請使用快取裝置或實作含有 RCA 或 ICP 的共用快取配置。
您可以將快取內容匯入傾出檔中,或從中匯出快取內容。當快取記憶體會在重新啟動期間流失時,或是針對多個 Proxy 部署同一個快取記憶體時,這個設定會很有用。
過濾器可藉由比對 URL 要求的表單來限制快取的內容。關於設定過濾器的詳細資訊, 請參閱控制已快取的部分。
選擇性地,您可以配置 Proxy 伺服器以快取查詢要求的結果。依預設,不會快取包含有問號 (?) 的 URL。如果要取得如果需要詳細資訊,請參閱快取查詢回應。
另一個選項是快取 servlet 或由 IBM WebSphere Application Server 執行的 JSP 之結果。詳情請參閱快取動態產生的內容。
關於快取中的檔案何時到期以及移除已作廢檔案的方法的資訊,請參閱維護快取記憶體內容。
您可以在要求快取之前先配置它,以每日為基準來自動重新整理最普遍的檔案。請參閱將快取代理程式配置為自動重新整理及預載以取得資訊。
某些情況下,使用共用快取會增加在快取中找到要求的檔案的可能性。請參閱使用共用的快取以取得資訊。
維護精準與正確的日誌對管理 Caching Proxy 來說是很重要的。監視 Caching Proxy包含關於配置與使用 Proxy 伺服器日誌的資訊。
快取 Proxy 提供數種過濾方法以控制要快取哪些檔案、文件及其他物件。 這些包含下列特性:
可配置 Proxy 伺服器以比較要求與 URL 範本,以決定是否快取該檔案。如果要配置這項特性,針對其檔案一律為快取的要求設定範本,以及針對其檔案必須是絕不為快取的要求設定個別範本。能夠使用多重範本。
已使用類似的系統來啟用查詢回應快取。請參閱快取查詢回應以取得相關資訊。
如果要編輯 ibmproxy.conf 檔來設定 URL 快取過濾器,請參閱CacheOnly -- 只快取具有符合範本的 URL 的檔案與NoCaching -- 指定不快取那些含有符合範本的 URL 的檔案。
如果要在配置與管理表單中設定 URL 快取過濾器,請使用快取配置 -> 快取行為:URL 過濾的快取欄位。使用本節來指定一律快取其檔案的 URL,或指定絕不快取其檔案的 URL。 如果要指定兩個清單(一個是永遠要快取的檔案清單,另一個是絕不快取的檔案清單),請先建立一個清單, 然後在按一下送出按鈕之後再建立另一個清單。
使用快取過濾器,便能快取從查詢(包含問號的 URL 要求)傳回的回應。 如果許多用戶端提出相同查詢要求,那麼在反向 Proxy(代理)情況下這項特性很有用。
您可以編輯 ibmproxy.conf 配置檔中的 CacheQueries 指引來配置查詢快取。CacheQueries 指引有下列選項:
有提供這些選項的其他資訊。
如果要在配置與管理表單中配置查詢回應快取,請使用快取配置 -> 快取行為:URL 過濾的快取欄位。 如果要指定兩個清單,請先建立一個清單,然後在按一下送出按鈕之後再建立另一個清單。
除了配置查詢快取設定以外,請確定已適當配置下列設定以便快取查詢回應。 關於使用配置與管理表單設定這些選項的資訊,請參閱配置快取即時性。
因為快取 Proxy 伺服器所提供的檔案通常是無效率的,在預設的狀況下不會快取起源於伺服器本端網域的檔案。如果要快取起始於伺服器本端網域的物件, 請勾選快取配置 -> 快取行為配置與管理表單上的快取本端網域檔案方框。另外,將 Proxy 配置檔中的 CacheLocalDomain 指引設定為 on。
能只根據送入的 URL 指定(有意義的)部分而不是完整 URL 來快取項目。 在異動模式 Web 服務中或對於動態快取來說這樣做很有用, 因為當進入的要求的 URL 的重要部分是相同時,通常會對不同的進入要求傳回相同回應。
您無法使用配置與管理表單來根據部分 URL 指定快取。 請使用 Proxy 配置檔中的 SignificantUrlTerminator 指引來指定 URL 要求的終止碼。 這個指定使得 Caching Proxy 在處理要求及決定是否快取要求的檔案時,只評估終止碼前面的字元。如果有定義一個以上的終止碼,Caching Proxy 會按照 ibmproxy.conf 檔中定義的順序來比較進入的 URL 與終止碼。請參閱SignificantURLTerminator -- 指定 URL 要求的終止碼,以取得詳細資訊。
如果要直接編輯 Proxy 配置檔以設定快取過濾器,請參閱下列指引的參考章節:
無法快取的文件之資訊,請參閱Proxy 伺服器快取概觀。
因為快取包括製作與保存提供的檔案,快取需要某些常式維護以正常運作。當快取的檔案不再與來源伺服器上的檔案一致時,必須檢查與快取檔案的即時性並使其無效。這個檔案到期程序會在檔案到期中加以解釋。另外,也會從快取中移除無效與未使用的檔案,為新檔案挪出空間。在記憶體回收中會說明這個快取刪除程序。
使快取的物件與內容伺服器上的原始物件保持一致,稱為維護快取的即時性。 針對 Caching Proxy 所快取的每一個文件或其他物件,Caching Proxy 會計算物件到期的時間。
對於 HTTP 頁面,文件的標頭(由內容伺服器所產生)含有到期時間資訊。
因為 FTP 通訊協定不包含相等的到期資訊,Caching Proxy 會依據每一個檔案的 FTP 目錄資訊產生其本身 FTP 檔的 Last-Modified: 標頭,並使用這個資訊來計算到期時間。 如果 Proxy 伺服器無法從 FTP 伺服器取得檔案的目錄資訊,就會使用符合 FTP URL 的預設值。此外,因為 FTP 伺服器沒有標準的日期格式, Caching Proxy 可能無法瞭解某些 FTP 伺服器傳來的日期及時間。在這種情況下會使用 Proxy 伺服器的預設到期時間值。這個程序可以讓 Proxy 以類似的方式, 管理 HTTP 網頁及 FTP 檔案的快取作業。
在下列的其中一個方法中,內容伺服器可以指定到期時間(依照偏好設定順序):
依據上述計算到期時間之後,Caching Proxy 會檢查是否有適用於這個 URL 的 Minimum Hold 值。 如果有這個值,而且它指定的時間大於計算的到期時間, 就會使用 Minimum Hold 值指定的時間作為物件的到期時間。 即使 Caching Proxy 計算出文件的到期時間是 0 分鐘也一樣; 因此,為了避免提供陳舊的內容,請小心使用 Minimum Hold 設定。(如果要設定 Minimum Hold 值, 請使用 CacheMinHold 指引或快取配置 -> 快取到期設定:URL 到期設定。其餘資訊,請參閱配置快取即時性。)
對在 Time Margin 設定中指定的時間來檢查最終到期時間值。 如果到期時間大於 Time Margin 值,就會快取文件;否則,不會新增文件至快取。(如果要設定 Time Margin 值,請使用 CacheTimeMargin 指引或請參閱配置快取即時性中的指示。)
如果在快取找到這份文件但已經到期的話,Caching Proxy 會對內容伺服器發出稱為 if-modified-since 這項特殊要求。這項要求使內容伺服器只傳送自前次由 Proxy 收到之後有經過修改的文件。 如果文件未經修改,則內容伺服器會傳送一則訊息陳述這件事情, 而不會重新傳送該頁。在本例中,Proxy 提供快取的文件。 針對 FTP 檔案,Proxy 伺服器會模擬 if-modified-since 程序。如果它判斷出該檔案在 FTP 伺服器上尚未經過修改, 便會從快取提供該檔。否則,就從 FTP 伺服器取得較新的版本。
因為 FTP 通訊協定對於日期及時間的定義不像 HTTP 通訊協定那麼嚴格, 所以可能會有許多因素,使得 Proxy 對 FTP 檔案產生的 Last-Modified 標頭,與實際的檔案日期不太一樣。這些因素如下所示:
當 FTP 檔在快取中到期時,Proxy 會為 FTP 檔模擬 HTTP if-modified-since 重新驗證程序。方法是為要求的檔案重新發出 FTP LIST 指令,剖析從 FTP 伺服器傳回的回應的檔案日期, 並且將這個日期與該檔最初擷取時,為 Last-Modified 標頭 Proxy 伺服器所產生的日期相比對。如果檔案日期沒有改變,Proxy 伺服器就會把已快取的 FTP 檔案標示為已經重新驗證, 為它設定新的到期時間,然後從快取中提供該檔,而不是從 FTP 伺服器再次擷取它。如果兩個檔案的日期不同,Proxy 會從 FTP 伺服器重新擷取該檔案,並且快取新檔案日期的檔案備份。
您不一定都能從 FTP 伺服器取得檔案的目錄資訊。 如果 Proxy 無法判斷 FTP 檔的檔案日期, 它便不會為該檔產生 Last-Modified 標頭。而是使用為符合 URL 的 CacheDefaultExpiry 指引所指定的值, 來判斷檔案在快取中的保留期限。 只要檔案一到期,Proxy 便會一律從 FTP 伺服器重新擷取它。 如果您快取中的某些 FTP 檔案似乎經常使用 CacheDefaultExpiry 指引, 而且經常被擷取(造成網路大壅塞),那麼請考慮為這些特定檔指定較大的 CacheDefaultExpiry 值, 使那些特定檔案可以在快取中保留更久一點。
如果要在配置與管理表單中指定快取到期設定,請使用快取配置 -> 快取到期設定 -> 快取檔案的時間限制表單。設定快取檔案到期日的詳細資訊,請參閱檔案到期。
如果要指定快取檔案的到期時間,請在配置與管理表單中選取快取配置 -> 快取到期設定。下列表單是非常有用的。
使用這份表單,根據檔案的 URL 來設定它們被保留在快取中的最短時間。 您可以為不同 URL 要求範本指定不同快取行為。
如果要編輯 Proxy 配置檔以設定 URL 型檔案到期時間,請參閱附錄B. 配置檔指引中的下列指引參考章節:
快取到期設定表單可讓您指定已使用的檔案或未使用的檔案的預設到期時間設定。您可以為 HTTP、FTP 和 Gopher 檔案設定不同值,也可以為已使用的檔案或未使用的檔案設定不同值。
這份表單也包含其他檔案到期時間選項:
如果要編輯 Proxy 配置檔以設定預設到期時間設定,請參閱下列指引的參考頁:
上次修改的因子表單用於設定「上次修改的因子」值,Proxy 使用它來為標頭中沒有到期日的快取檔案計算到期日。您可以為符合不同要求範本的檔案設定不同值。 第一個符合的範本用於計算到期日。
如果要直接編輯 Proxy 配置檔來設定「上次修改的因子」,請參閱CacheLastModifiedFactor -- 指定決定到期日的值。
使用快取檔案的時間限制配置表單來設定檔案可以保留在快取中的最大時間。 時間限制是根據要求範本設定,而且您可指定達到時間限制時要捨棄檔案或者重新驗證檔案。 您可使用這些設定維護到期日已無效的檔案,或維護具有非常長的到期日的檔案。
如果要編輯 Proxy 配置檔以設定快取檔案的最大到期時間限制,請參閱下列各項:
為了保留已快取的受歡迎 URL 以及使系統資源使用量最小化,Caching Proxy 執行稱為記憶體回收的清除處理,在記憶體回收中會從快取移除舊檔案或未使用的檔案,以容納更多現行檔案。
記憶體回收程序會檢查快取目錄中的檔案, 然後嘗試刪除到期的檔案以減少快取大小,並提供空間容納新檔案。 記憶體回收會自動執行,但可以配置一部分設定,依您的需要修改這個程序。
如果要配置記憶體回收,請在配置與管理表單中選取快取配置 -> 記憶體回收設定。 這份表單可讓您設定高臨界值及低臨界值,這兩個臨界值決定何時啟動及停止記憶體回收。 當快取記憶體中已使用的空間達到或超過高臨界的百分比設定,就會開始記憶體回收。 要等到快取中的已使用空間百分比等於或小於設定的低臨界值之後,才會停止記憶體回收。
您可以在兩個記憶體回收演算法中選擇。回應時間演算法透過從快取記憶體優先移除大型檔案, 使回應使用者所需要的時間最佳化。頻寬演算法藉由從快取優先移除較小檔案,來最佳化網路頻寬的使用。選擇其中一種演算法或混合使用這兩種演算法。
如果要藉由編輯 Proxy 配置檔來配置記憶體回收,請參考相關的章節以取得有關下列指引的資訊:
大部分快取 Proxy 伺服器只在使用者要求某檔案之後才快取該檔案。Caching Proxy 有提供自動快取預載的快取代理程式。您可以指定這個快取代理程式去自動擷取指定的 URL 及/或最受歡迎的 URL,以及在它們被要求之前先將它們放在快取中。
在某些情況下,您必須設定 Proxy 伺服器的主機名稱, 而且識別快取存取日誌之後才會預載快取。 如果要配置快取代理程式,請在配置與管理表單中選取快取配置, 並使用快取預載及快取重新整理表單。 請注意:代表查詢結果的檔案(也就是,只有在啟用查詢快取時,其 URL 中包含問號字元 (?) 的檔案)。
自動快取重新整理及預載提供下列優點:
缺點包含:
如果要取得最佳的效率,在伺服器活動量低時以及伺服器忙於處理用戶端要求之前,應該設定執行快取重新整理代理程式。使得檔案在快取中備妥,當使用者第一次要求檔案時便能提供快速服務。 依預設,本地時間每晚凌晨 3 點會啟動快取代理程式。
在 Linux 和 UNIX 平台中,請指定要預載或重新整理其快取的 Proxy 伺服器的主機名稱。 在 Windows 平台中,只有當要重新整理的 Proxy 伺服器不在本端機器上時,要指定主機名稱(請注意:不可能根據最常存取的檔案重新整理遠端伺服器的快取,因為本端快取代理程式沒有存取遠端伺服器的快取存取日誌之權限。
如果要設定 Proxy 伺服器的主機名稱,請在配置與管理表單中選取快取配置 -> 快取重新整理:識別快取目的地伺服器。
如果要使用儲存在特定 URL 的內容來預載快取, 請在配置與管理表單中使用快取配置 -> 快取預載。 在這份表單中,您可以指定要快取代理程式載入的 URL。 快取代理程式啟動時,Proxy 便會擷取這些頁面,不管它們先前是否已在快取中 (在 Proxy 配置檔中 LoadURL 指引指定這些 URL。)這份表單也可用於定義未曾快取其內容的 URL。 這種快取預載不需要存取快取存取日誌。
您可以使用快取預載表單來配置下列選項:
如果要預載最常自動存取的頁面,請使用快取配置 -> 快取重新整理表單。這個功能需要 Proxy 伺服器的「快取存取日誌」。 (可變更日誌的位置與名稱;請參閱監視 Caching Proxy以取得相關的資訊。)可以從「快取存取日誌」自動決定最受歡迎的 URL。 管理者也可以指定要預載到快取的受歡迎頁數。 (在 Proxy 配置檔中已由 LoadTopCached 指引指定這個數目。)
您可以使用快取重新整理表單來配置下列選項:
探查是自動快取重新整理特性中的一個選用性部分。 大部分網頁都有鏈結到含相關資訊的其他頁面, 而且使用者經常遵循從一個頁面鏈結到另一個頁面的路徑,以及從一個網站鏈結到另一個網站的路徑。 探查是快取這些邏輯資訊路徑的方法。 在探查中,快取代理程式會遵循正在載入的頁面上指定層次的超文件 (HTML) 鏈結,而且也快取所有那些鏈結的頁面。鏈結的頁可以與來源頁常駐在同一主機或在其他主機上。『圖 1.』顯示圖例。
為了控制探查處理,管理者可以指定快取代理程式可載入的最大 URL 數目(預設值是 2000)、可以執行的最長時間(預設值是 2 小時),以及可以使用的最大執行緒數(預設值是 4 個)。 管理者也可配置其他控制項。依預設,會為階層中的兩個層次啟用探查,但不准跨越主機啟用。 此外,在要求與要求之間會插入延遲時間。 如果要變更這些設定,請參閱相關的 Proxy 配置檔指引。
快取代理程式是以下列順序載入並重新整理快取:
請注意:快取代理程式要等到開始跨越鏈結探查之後,才會檢查是否已達到最大頁數。 如果最大頁數值(在 Proxy 配置檔中稱為 MaxURL)小於在步驟 1 及步驟 2 擷取的頁數,就不會擷取鏈結的頁面。
相對於指定的最大 URL 數目,下列這些範例顯示快取代理程式如何處理快取重新整理優先順序及探查(假設這些範例都已配置探查)。
| 配置檔設定 | 結果 |
|---|---|
LoadURL http://www.getthis.com/main.html LoadURL http://www.getmetoo.com/welcome.htm LoadTopCached 30 MaxURLs 50 |
如果 Cache Access Log 有超過 30 個唯一的 URL, 那麼快取代理程式會根據快取存取日誌擷取 main.html、welcome.htm 以及前 30 個要求的 URL。 因為它尚未達到 MaxURL 值,所以會從已經快取的頁面去擷取及載入最多 18 個鏈結的 URL。 |
LoadURL http://ww.joesmith.edu/favorites.html LoadURL http://www.janesmith.edu/dislikes.html LoadTopCached 30 MaxURLs 25 |
如果快取存取日誌有超過 30 個唯一的 URL, 那麼快取代理程式會從快取存取日誌擷取 favorites.html、dislikes.html 以及前 30 個要求的 URL。 不會擷取其他檔案,因為已超過 MaxURL 中的值。 |
LoadURL http://www.hello.com/hi.htm LoadURL http://www.ballyhoo.com/index.html LoadTopCached 20 MaxURLs 25 |
如果快取存取日誌有超過 20 個唯一的 URL, 那麼快取代理程式會從快取存取日誌擷取 hi.htm、index.html 以及前 20 個要求的 URL, 以及從舊頁面擷取最多 3 個鏈結的 URL。不會擷取其他檔案,因為已達到 MaxURL 中的值。 |
您也可以在 Proxy 配置檔直接編輯適當指引來配置快取代理程式。快取代理程式相關的 Proxy 配置檔指引,請參閱附錄B. 配置檔指引中的下列參考頁:
如果啟用了自動快取重新整理,那麼快取代理程式會在指定時間自動執行重新整理作業。 不過,您也可隨時從指令行執行快取代理程式。
可執行檔如下:
其中 server_root 是安裝 Caching Proxy 的磁碟機及目錄(例如,C:\Program Files\IBM\edge\cp)。
在 Linux 和 UNIX 平台中,您可以利用 cron 常駐程式,在不同時間自動執行快取代理程式。藉由新增一行到系統 crontab 檔來指定 cron 控制的工作。Linux 和 UNIX 中的指令檔的範例項目如下:
45 16 * * * /usr/sbin/cacheagt
這個指令會在當地時間每天下午 4:45 啟動快取代理程式。想要的話, 您可以使用多重項目,多次執行快取代理程式。如果需要詳細資訊,請參閱作業系統的說明文件中有關 cron 常駐程式的部分。
當使用 cron 常駐程式來執行快取代理程式時,請記得關閉自動重新整理選項, 方法是使用快取配置 -> 快取重新整理配置表單, 或是編輯 Proxy 配置檔。否則,快取代理程式會每日執行一次以上。
出現在 Web 的某一點有超過單一伺服器能夠處理的資料流量很常見。 您只要多加幾部伺服器, 就可以解決這個問題了。 不過,使用多重快取 Proxy 伺服器時,某個快取的內容會經常與其他快取的內容重疊。 除了儲存體中不必要的冗餘以外,仍無法達到最大節省頻寬, 因為當要求已快取的檔案之 Proxy 伺服器本身的快取中沒有該檔案時,就會從來源伺服器重新提取該檔案。 雖然使用 Proxy 伺服器的階層鏈可以將重複快取的次數減到最少, 但是這個情況仍會透過提供的伺服器產生額外資料流量,而且這個鏈結中的每個額外鏈結會增加潛伏期。
快取共用可解決這些問題,它允許每個快取與其他快取共用其內容。因為下列事實,而未能達成頻寬節省的結果:
使用多重快取(猶如它們是一個邏輯快取)來提供兩種方法:
可以一起使用 RCA 與 ICP。
規劃使用 RCA 時,請考慮下列幾點建議:
如果不符以上任一條件,或不同的組織分別管理屬於陣列成員的不同伺服器時, 遠端快取存取便不適合。
如果要配置遠端快取存取,請在配置與管理表單中選取快取配置 -> 遠端快取存取。這份表單中的欄位會定義一個具名的陣列,該陣列共用一個邏輯快取記憶體。 輸入每一個陣列成員的必要資訊。
如果要編輯 Proxy 配置檔以配置遠端快取存取,請參閱附錄B. 配置檔指引中的下列指引參考章節:
「網際網路快取通訊協定」外掛程式可讓 Caching Proxy 查詢遵循 ICP 快取, 以尋找 HTML 頁面及其他可快取資源。當 Proxy 伺服器接收到 HTTP 要求時, 會在其本身快取中搜尋資源。如果在本端快取中找不到資源, 且已啟用 ICP 外掛程式,則 Proxy 伺服器會將 URL 要求封裝在 ICP 查詢封包內, 然後將這個封包遞送至所有已識別的 ICP 同層級快取中。如果同層級快取回應其擁有資源,Proxy 伺服器從同層級的快取擷取資源。如果兩個或以上的同層級明確地回應,會處理第一個回應。如果沒有同層級回應命中, 來源伺服器會依據其工作流程繼續處理要求。例如,Proxy 伺服器可以呼叫另一個外掛程式,繼續執行「遠端快取存取」常式(如果已啟用 RCA )或擷取所要求的資源本身。
您可以編輯 Proxy 配置檔 ibmproxy.conf 來啟動與配置 ICP 外掛程式。 為使用 ICP 外掛程式,必須新增 ServerInit 指引、PreExit 指令或兩者至配置檔的 API 指引區段中,以使用 ICP 外掛程式。使用哪個指引取決於 Caching Proxy 在 ICP 系統中的角色:
如果要建立這些指引,請手動編輯 ibmproxy.conf 檔,或者如果 Proxy 伺服器已正在執行,請連結至配置與管理表單伺服器配置 -> 要求處理程序 -> API 要求處理程序。
請注意:原型指引(以備註形式)已新增至 ibmproxy.conf 檔的 API 區段中。這些 API 指引是按照目的排序。 當新增 API 指引來啟用新特性及外掛程式模組時,請依照配置檔原型區段所顯示來排序指引。 另外,必要的話,請解除註解和編輯 API 指引來支援每一個所需要的功能或外掛程式。
ServerInit 和 PreExit 指引有兩個引數:(1) 共用程式庫的完整路徑和 (2) 函數呼叫。 這些引數用冒號 (:) 來定界。 第一個引數為系統特定的,視外掛程式元件安裝位置而定。 第二個引數寫在共用程式庫內,而且必須完全依照所顯示來輸入。
每一個指引都必須出現在 Proxy 配置檔的單一行。
ServerInit path_of_shared_library:icpServerLinux 和 UNIX 範例:
ServerInit /opt/ibm/edge/cp/internet/lib/plugins/icp/libicp_plugin.so:icpServer
Windows 範例:
ServerInit C:\Program Files\IBM\edge\cp\Bin\plugins\icp\icpplugin.dll:icpServer
PreExit path_of_shared_library:icpClientLinux 和 UNIX 範例:
PreExit /opt/ibm/edge/cp/internet/lib/plugins/icp/libicp_plugin.so:icpClient
Windows 範例:
PreExit C:\Program Files\IBM\edge\cp\Bin\plugins\icp\icpplugin.dll:icpClient
如果要配置外掛程式的設定,請新增或修改在 Proxy 配置檔中有提供的 ICP* 指引。其餘資訊,請參閱下列指引的說明。
動態快取功能讓 Caching Proxy 能夠快取動態產生的內容,該內容是以 IBM WebSphere Application Server 所產生的 JavaServer Pages (JSP) 和 Servlet 回應的形式呈現。在應用程式伺服器使用 Caching Proxy 配接卡模組來修改回應, 使得除了在應用程式伺服器的動態快取記憶體中快取回應之外,還能在 Proxy 伺服器快取回應。透過這項特性,可以在網路邊緣快取動態產生的內容, 避免當一個以上的用戶端要求相同內容時,內容主機對應用程式伺服器提出重複要求。
有時需要啟用查詢快取以使動態快取特性能夠運作,比方說,如果您的 Servlet 使用查詢形式的 URL。Proxy 伺服器會認為任何包含問號 (?) 的 URL 都是一個查詢。
快取動態產生的內容提供下列優點:
應用程式伺服器只匯出完整撰寫的公用網頁供 Proxy 快取。proxy 不快取專屬網頁。 例如,從公用網站動態產生且列出目前天氣預測的網頁可以由 IBM WebSphere Application Server 匯出,然後由 Caching Proxy 快取。不過,Proxy 伺服器無法快取列出使用者購物車內容的動態產生頁面。同時為了快取動態產生的頁面,該頁面的所有子元件必須是可以快取的。
快取的動態檔案的到期方式與一般檔案不同;產生它們的應用程式伺服器可以使它們失效。
在下列情況下會使動態快取記憶體中的項目失效:
藉由為 Caching Proxy 動態快取外掛程式的特定實例產生一則「失效」訊息, 可完成動態快取項目的「失效」作業。當公佈到 /WES_External_Adapter 資源定位器時,Caching Proxy 收到「失效」訊息。然後 Caching Proxy 從快取記憶體清除失效項目。
動態快取需要下列配置步驟。
遵循 IBM WebSphere Application Server 文件中的指示,配置應用程式伺服器使用它的本端動態快取記憶體 (也稱為動態片段快取記憶體)。 動態片段快取記憶體與應用程式伺服器 Caching Proxy 上的外部快取記憶體互動。
您可以使用名稱為「外部快取配接卡」的軟體模組(它與應用程式伺服器一起安裝),IBM WebSphere Application Server 便能與 Caching Proxy 通訊。
如果要讓 Proxy 伺服器能夠快取動態產生的內容(來自 servlet 和 JSP 的結果), 您必須在 Proxy 配置檔 ibmproxy.conf 做兩項變更。第一項變更是啟用動態快取外掛程式模組,第二項變更是配置該模組,使它可以辨識可快取的動態內容的來源。
「服務」步驟的一個 API 指引是用來啟用動態快取外掛程式。如果要建立這個指引,請手動編輯 ibmproxy.conf 檔, 或者,如果已經執行 Proxy 伺服器,請使用配置與管理表單來選取伺服器配置 -> 要求處理程序 -> API 要求處理程序。 這個指引的內容顯示在本節稍後出現的範例中。
啟用動態快取的原型 Service 指引以備註形式存在於 ibmproxy.conf 檔的 API 段落中。它有標頭 JSP 外掛程式。 請注意:原型 API 指引是按目的排序。 當新增 API 指引來啟用新特性及外掛程式模組時,請依照配置檔原型區段所顯示來排序指引。 您可以選擇性地從原型 API 指引中移除備註字元, 然後依需要編輯它們,來包含對每一個想要的函數或外掛程式的支援。
如下列範例所顯示來設定 Service 指引。(請注意:每一個指引必須出現在 Proxy 配置檔中的單一行;為方便閱讀,這些範例有時包含換行字元。)
Service /WES_External_Adapter /opt/ibm/edge/cp/lib/plugins/ dynacache/libdyna_plugin.o:exec_dynacmd
Service /WES_External_Adapter /opt/ibm/edge/cp/lib/plugins/ dynacache/libdyna_plugin.so:exec_dynacmd
Service /WES_External_Adapter /usr/lib/libdyna_plugin.so:exec_dynacmd
Service /WES_External_Adapter C:\Program Files\IBM\edge\cp\bin\plugins\ dynacache\dyna_plugin.dll:exec_dynacmd
如果 Caching Proxy 軟體安裝在非預設的目錄,請以您的安裝路徑替代這些範例中的路徑。
也必須配置每一個 Caching Proxy 去辨識動態產生的檔案的來源。針對每一個在這個 Proxy 伺服器中快取動態產生的內容之應用程式伺服器,新增 ExternalCacheManager 指引至 ibmproxy.conf 檔。 這個指引指定一個在 Proxy 快取結果的 WebSphere Application Server,並為該伺服器的內容設定最大到期時間。 其他詳細資料出現在ExternalCacheManager -- 從 IBM WebSphere Application Server 配置動態快取的 Caching Proxy。
在 ExternalCacheManager 指引內使用的伺服器 ID,必須符合在應用程式伺服器的 dynacache.xml 檔的外部快取群組段落中使用的群組 ID。
就上一個範例而言,請新增下列項目到每一個 Proxy 的 ibmproxy.conf 檔。
ExternalCacheManager IBM-edge-cp-XYZ-1 20 seconds
Caching Proxy 只快取 IBM WebSphere Application Server 的內容,且該 Application Server 的群組 ID 符合 ibmproxy.conf 檔中的 ExternalCacheManager 項目。
當啟用快取時,快取儲存裝置的速度對於 Caching Proxy 效能而言非常重要。本節提供如何選擇快取儲存體的類型及配置快取儲存裝置的建議, 以獲得最佳的效能。
Caching Proxy 可以使用兩種不同的快取儲存體媒體類型:
記憶體快取提供的檔案擷取速度最快,但記憶體快取大小受限於 Proxy 伺服器機器可用的記憶體數量。 由一或多個原始磁碟分割區所組成的磁碟快取,速度比記憶體快取慢, 但大部分情況下容許較大的快取大小。
使用於磁碟快取的裝置分割區應該專用於快取;亦即, 這些實體磁碟不可以包含任何其他檔案系統,且不應該用於儲存 Proxy 快取以外的其他用途。 此外,請勿對用於 Proxy 快取的磁碟使用資料壓縮,因為這樣會降低效能。
每一個快取儲存裝置(磁碟或檔案)都會引起 Proxy 伺服器的記憶體額外負荷。 通常使用一整個實體磁碟當做單一的快取裝置會得到最佳效能。 使用 RAID 或其他機制將多重實體磁碟合併成單一的邏輯磁碟,會造成反效果。 如果您要使用多重磁碟,您可以使用快取設定配置表單或編輯 Proxy 配置檔中的 CacheDev,指定它們為多重快取裝置。這個方法允許 Proxy 伺服器控制對多重磁碟讀取及寫入的平行化,且不依賴作業系統或磁碟子系統的效能。
Proxy 伺服器的快取記憶體回收會捨棄快取中到期的檔案,釋放空間來快取新要求的檔案。 當快取中已使用的空間量達到一個稱為高臨界值的管理者指定的限制時, 就自動觸發記憶體回收,然後繼續進行,直到已使用的空間量降低到低臨界值為止。
因為記憶體回收常式使用最少 CPU 資源,不影響未過期快取資料的可用性, 所以不必配置記憶體回收在特定的時間執行。
如果要增進記憶體回收的效能,您可以設定高臨界值及低臨界值。 您亦可配置使用於記憶體回收的演算法類型。 請參閱記憶體回收,以取得修改記憶體回收的詳細資訊。
以下提供的額外建議是針對每一個平台的快取效能最佳化處理。
在一個磁碟上建立單一的邏輯容體,最好使用全部可用的實體分割區 (PP)。 比方說,如果是 9-GB 磁碟,請建立名為 cpcache1 的 9-GB 邏輯容體。進行格式化,並且使用其原始邏輯容體 /dev/rcpcache1,將磁碟指定為 Proxy 快取裝置。
在您的快取裝置上,建立一個使用整個磁碟大小的單一分割區(或截塊)。 例如,在一個 9-GB 的磁碟上建立一個 9-GB 分割區,稱為 c1t3d0s0。進行格式化,並且使用其原始裝置 /dev/rdsk/c1t3d0s0,將磁碟指定為 Proxy 快取裝置。
使用整個磁碟大小建立一個分割區。 例如,在一個 9-GB 的磁碟上建立一個 9-GB 分割區,稱為 i:。進行格式化,並且使用其原始裝置 \\.\i:,將磁碟指定為 Proxy 快取裝置。
配置 Proxy 伺服器的快取以及格式化及指定快取裝置的相關資訊,內含於配置 Proxy 伺服器快取。
這個部分提供基本安全性的相關資訊,包括在 Caching Proxy 使用 SSL、啟用加密的硬體,以及使用 IBM Tivoli(R) Access Manager (早期稱為 Tivoli Policy Director)外掛程式和 PAC-LDAP 授權模組。
這個部分包含下列各主題:
任何可從網際網路存取的伺服器,都有被不肖使用者入侵其執行之系統的風險。 未經授權的人可能會去猜測密碼、更新檔案、執行檔案或讀取機密資料。 全球資訊網的魅力之一, 就是它的公開性。不過,Web 的開放同時提供了正面使用及濫用。
下列各節說明如何控制在您 Caching Proxy 伺服器上存取檔案的人。
Caching Proxy 支援 Secure Socket Layer (SSL) 連線, 透過這種連線,在用戶端瀏覽器與目的地伺服器(內容伺服器或替代 Proxy 伺服器)之間建立涉及加密及解密的安全傳輸。
當 Caching Proxy 配置為替代時,它可與用戶端、內容伺服器或這兩者建立安全連線。 如果要啟用 SSL 連線,請在配置與管理表單中選取 Proxy 配置 -> SSL 設定。在這份表單上, 選取啟用 SSL 勾選框並指定金鑰環資料庫和金鑰環資料庫密碼檔。
您可以採取幾個基本預防措施來保護您的系統:
封包過濾可讓您定義資料的往來地點。您可以配置系統,讓它拒絕某些來源/目的地組合。
防火牆可將內部網路與公開存取的網路(如,網際網路)隔開。 防火牆可以是一組或是一部作為雙向閘道使用的電腦, 負責管束及追蹤經由它傳送的資料。IBM Firewall 就是個防火牆軟體的例子。
範例:
Proxy /* http://content server :443
或
Proxy /* https://content server :443
本章說明如何利用保護設定來保護伺服器上的資料及檔案。 保護設定會根據伺服器接收的要求(特別是要求提出的特定目錄、檔案或檔案類型)來觸發。 在保護設定內,副指引根據保護的目錄或檔案性質,來控制授與或拒絕存取權的方式。
如果要定義保護設定及其套用方式,請在配置與管理表單中選取伺服器配置 -> 文件保護。 使用這份表單以進行下列步驟:
保護規則會依配置表單上表格中所示的順序套用。 通常,規則的列出順序是從特定至通用。
使用下拉式功能表及按鈕來指定保護規則的位置。
保護會根據要求範本來啟動,要求範本可與用戶端傳給 Proxy 伺服器的要求內容來做比較。
要求是完整 URL 的一部分,它附於伺服器主機名稱的後面。 比方說,如果您的伺服器名為 fine.feathers.com, 而瀏覽器使用者輸入 URL http://fine.feathers.com/waterfowl/schedule.html, 則伺服器收到的要求是 /waterfowl/schedule.html。要求範本指定受保護的目錄或檔名或兩者。 例如,某些要求是根據剛才描述的要求範本 (/waterfowl/schedule.html) 加上 /waterfowl/* 和 /*schedule.html 來啟動保護。
在 URL 要求範本欄位中輸入要求範本。
保護設定指示 Caching Proxy 如何處理符合要求範本的要求。您可使用指名的保護設定, 或在文件保護表單中定義一個新設定。
如果要使用已指名的設定,請按一下指名的保護圓鈕, 然後在提供的欄位中輸入名稱。如果要定義新設定,請按一下列入圓鈕,然後遵循提供的指示進行(請參閱步驟 6)。
您可以將不同的規則引用到不同伺服器位址的要求。例如, 從指派給您公司的 IP 位址接收日誌檔要求時,您可以將不同的保護設定引用到這些要求。
如果要將要求器位址併入規則中,請在伺服器 IP 位址或主機名稱欄位中輸入該位址。
如果您已使用指名的保護設定,則不需要再做進一步的輸入。 如果您選取的列入保護設定或指定的指名設定不存在,系統會開啟其他表單。
如果您沒有指定現有的指名保護設定,則會開啟另一份表單,供您指定哪些使用者可存取符合要求範本的文件或目錄,以及使用者可採取哪些動作。
如果要直接編輯 Caching Proxy 配置檔來設定保護,您必須先瞭解下列問題:
要求路由指引(如 Map、Exec、Pass 和 Proxy)用來控制伺服器接受哪些要求, 以及如何將要求重新導向至實際檔案位置。要求路由指引使用同類的要求範本作為保護指引。 由於會執行與每一個要求的第一個符合範本相關的指示,所以在配置檔中, 保護指引必須在路由指引之前列出,保護才能正常作業。 如果需要詳細資訊,請參閱Protect -- 啟動符合範本之要求的保護設定。
Protect 指引可用來指定列入保護設定,或參考現存的指名設定。這兩種陳述式類型的語法稍有不同。相關資訊,請參閱Protect -- 啟動符合範本之要求的保護設定。
保護設定是使用保護副指引的一系列陳述式。撰寫保護設定的語法及參考資訊位於附錄B. 配置檔指引中;請參閱下列參考章節:
預設 Proxy 配置檔併入一個保護設定,而它需要管理者 ID 和密碼,才能存取 /admin-bin/ 目錄中的檔案。這項設定限制了配置與管理表單的存取權。
Secure Socket Layer (SSL) 是一種會自動將透過網際網路傳送的資訊於傳送前先加密, 並在使用之前於另一端解密的系統。這可保護透過網際網路傳輸的敏感資訊, 如信用卡號碼。
Caching Proxy 使用 SSL 來保護替代伺服器及提供安全遠端管理,如下列各節所述。SSL 也可用來保護與後端伺服器(例如,內容或應用程式伺服器)的連線,以及保護 Proxy 伺服器與其用戶端之間的通訊。
當安全連線要求從一部機器傳送到另一部機器時,會起始 SSL 保護 -- 比方說,當瀏覽器傳送要求到代理的 Proxy 伺服器時。 如果以要求語法 https:// 代替 http://,則瀏覽器會送出埠 443 上的要求, 這個埠是伺服器接收安全連線要求所在的位置(代替用於常式要求的埠 80)。 如果要在瀏覽器和伺服器之間建立安全階段作業,兩部機器必須執行 SSL 訊號交換來符合密碼規格,並且選取一個用來加密及解密資訊的金鑰。金鑰通常會自動產生,而在階段作業失效時跟著失效。 下列為一般情節(假設為 SSL 版本 3):
用戶端可藉由傳送一則說明用戶端加密功能的 Client Hello 訊息,使用 Caching Proxy 來起始一個 SSL 階段作業。
伺服器將它的憑證傳給用戶端,並選擇密碼組來進行資料加密。
用戶端傳送用來對加密資料建立對稱加密金鑰的密碼金鑰資訊。 這個金鑰資料即所謂的預先主要機密金鑰,而且以伺服器的公用金鑰(取自伺服器憑證;請參閱金鑰與憑證管理)來對它進行加密。 伺服器及用戶端兩者可從預先主要機密金鑰,衍生讀取及寫入對稱加密金鑰。
伺服器傳送最終確認及整個訊號交換通訊協定的「訊息鑑別碼」(MAC)。
用戶端傳送訊息來驗證伺服器完成訊息。
如果用戶端證實伺服器完成訊息有效,便開始進行加密資料流程。
使用 Caching Proxy 作為安全連線的端點,可減少內容或應用程式伺服器的負荷。當 Caching Proxy 維護某安全連線時,它會執行加密、解密及金鑰建立,這些都是 CPU 密集的作業。Caching Proxy 也可讓您配置 SSL 階段作業逾時來善用每一個金鑰。
SSL 限制
下列限制適用於 WebSphere Application Server 的 Caching Proxy 中的 SSL:
您可使用 Secure Socket Layer (SSL) 提供的安全功能及密碼鑑別來執行 Caching Proxy 的遠端管理。這可明顯降低未獲授權者存取 Proxy 伺服器的可能性。
如果要在伺服器遠端管理期間使用 SSL,請使用 https:// 要求來開啟配置與管理表單,而不是使用 http:// 要求。例如:
https://your.server.name/yourFrontPage.html
如先前所述,在配置 SSL 之前,您必須設定金鑰資料庫並取得或建立憑證。 憑證可用來鑑別伺服器身分。使用 IBM Key Management 公用程式(有時稱為 iKeyman)來設定憑證檔。這個公用程式屬於 GSKit 軟體的一部分,這個軟體包含於應用程式伺服器中。 GSKit 亦包含用來開啟憑證檔的 Java 型圖形介面。
下列為設定 SSL 金鑰與憑證的一些基本步驟。
您的公用金鑰必須與憑證管理中心 (CA) 的數位簽章憑證有關聯,而且這個 CA 在伺服器上已被指定為可靠的主要 CA。您可以經由向憑證管理中心 (CA) 供應站提出憑證要求,來購買簽章的憑證。Caching Proxy 支援下列外部 CA:
依預設,下列被指定為可靠的 CA:
本節提供使用 IBM Key Manager 公用程式 (iKeyman) 的快速參照。 金鑰管理程式可用來建立 SSL 金鑰資料庫檔案、公用專屬金鑰組合及憑證要求。 在收到 CA 簽章憑證後,使用金鑰管理程式將該憑證置於金鑰資料庫(您建立原始憑證要求之處)中。
GSKit 軟體附帶有關於 IBM Key Manager 和 GSKit 的詳細說明文件。
設定系統來執行金鑰管理程式
在啟動 IKeyman GUI 之前,請先執行下列動作:
ibmjcefw.jar ibmpkcs11.jar
ibmjceprovider.jar ibmpkcs.jar
local_policy.jar US_export_policy.jar
更新 JAVA_HOME/jre/lib/security/java.security 檔,將 IBM CMS 和 IBM JCE 這兩個提供者加在 Sun 提供者後面。例如:
security.provider.1=sun.security.provider.Sun security.provider.2=com.ibm.spi.IBMCMSProvider security.provider.3=com.ibm.crypto.provider.IBMJCE
您可以在 GSKit_Installation_path/classes/gsk_java.security 中找到一個 java.security 範例檔。
security.provider.1=sun.security.provider.Sun security.provider.2=com.ibm.spi.IBMCMSProvider security.provider.3=com.ibm.crypto.fips.provider.IBMJCEFIPS security.provider.4=com.ibm.crypto.provider.IBMJCE
security.provider.1=sun.security.provider.Sun security.provider.2=com.ibm.crypto.provider.IBMJCE security.provider.3=com.ibm.crypto.pkcs11.provider.IBMPKCS11
啟動金鑰管理程式
啟動金鑰管理程式圖形式使用者介面,如下所示:
請注意:如果您在這個階段作業期間建立新的金鑰資料庫檔案,則該檔案將儲存在您啟動金鑰管理程式所在的目錄中。
金鑰資料庫是一種檔案, 伺服器使用它來儲存一個或多個金鑰組合及憑證。您可以對全部的金鑰組合及憑證使用一個金鑰資料庫,或建立多個資料庫。金鑰管理公用程式可用來建立新的金鑰資料庫, 以及指定它們的密碼及隱藏檔。
如果要建立金鑰資料庫及隱藏檔:
建立新金鑰資料庫時指定的密碼可保護專屬金鑰。 專屬金鑰是唯一可以簽署文件,或對以公用金鑰加密的訊息進行解密的金鑰。
當指定密碼時,請使用下列指引:
經常變更金鑰資料庫密碼是一種好習慣。 不過,如果您指定了密碼的到期日,請記下變更它的時間。如果密碼在您變更之前就到期了, 則會寫入一則訊息到錯誤日誌中,而伺服器雖會啟動但無法建立安全網路連線。
請遵循下列步驟來變更金鑰資料庫密碼:
如果是 Proxy 和 LDAP 伺服器之間的 SSL 連線,請將金鑰資料庫密碼放在 pac_keyring.pwd 檔中。(請注意,pac_keyring.pwd 檔不是 IKeyMan 所產生的隱藏檔。)
建立新的金鑰組合及憑證要求
金鑰資料庫中儲存了金鑰組合及憑證要求。如果要建立公用專屬金鑰組合及憑證要求, 請遵循下列步驟執行:
A new certificate request has been successfully created in the file keyfile_database_name.
建立自我簽章憑證
在等待發出憑證的這段時間,使用金鑰管理公用程式建立自我簽章伺服器憑證, 在用戶端和您的 Proxy 伺服器之間啟用 SSL 階段作業。您亦可使用自我簽章憑證來做測試。
遵循這個程序來建立自我簽章憑證:
匯出金鑰
使用這個程序來將金鑰匯出到另一個金鑰資料庫:
匯入金鑰
如果要從另一個金鑰資料庫匯入金鑰:
列示憑證管理中心
如果要顯示金鑰資料庫中的可靠憑證管理中心 (CA) 清單,請執行下列動作:
使用這個程序來接收憑證管理中心 (CA) 透過電子郵件寄給您的憑證,依預設, 這個 CA 已被指定為可靠的 CA(請參閱憑證管理中心中的清單)。 如果發出您 CA 簽章憑證的 CA 不是金鑰資料庫中的可靠 CA, 您必須先儲存 CA 的憑證並指定 CA 為可靠的 CA。然後, 您可以接收您的 CA 簽章憑證並置於資料庫中。如果 CA 不是可靠的 CA, 則您無法從其中接收 CA 簽章憑證(請參閱儲存 CA 憑證)。
如果要接收 CA 簽章憑證並置於金鑰資料庫中:
僅可用可靠的 CA 簽署的憑證來建立安全連線。如果要新增 CA 至可靠的 CA 清單中,您必須取得其憑證並將它儲存為可靠的憑證。 在接收憑證到資料庫中之前,請遵循這個程序來從新 CA 儲存憑證:
顯示金鑰資料庫中的預設金鑰
顯示預設金鑰項目,如下所示:
下列表格列示用於 SSL 版本 2 和 3 的加密演算法及雜湊。
產生金鑰組:RSA 512-1024 私密金鑰大小
SSL 版本 2
| US 版本 | 出口版本 |
| RC4 美國 | RC4 出口 |
| RC2 美國 | RC2 出口 |
| DES 56 位元 | 不適用 |
| 三重 DES 美國 | 不適用 |
| RC4 出口 | 不適用 |
| RC2 出口 | 不適用 |
SSL 版本 3
| US 版本 | 出口版本 |
| 三重 DES SHA 美國 | DES SHA 出口 |
| DES SHA 出口 | RC2 MD5 出口 |
| RC2 MD5 出口 | RC4 MD5 出口 |
| RC4 SHA 美國 | NULL SHA |
| RC4 MD5 美國 | NULL MD5 |
| RC4 MD5 出口 | NULL NULL |
| RC4 SHA 56 位元 | 不適用 |
| DES CBC SHA | 不適用 |
| NULL SHA | 不適用 |
| NULL MD5 | 不適用 |
| NULL NULL | 不適用 |
這些 SSL 規格亦可直接編輯 Proxy 配置檔來配置。詳細資訊, 請參閱附錄B. 配置檔指引中有關下列各指引的參考章節:
Caching Proxy 的 128-bit 密碼化
僅 128 位元加密版本的 Caching Proxy 已發表。56 位元版本無法再使用。如果您要更新前一版,您可以將 Caching Proxy 直接安裝到您目前安裝的 128 位元或 56 位元版本。如果您先前是使用 56 位元(出口)瀏覽器,則必須升級至 128 位元瀏覽器,才能在 Proxy 中使用 128 位元加密。
從 56 位元版本的 Caching Proxy 升級到 128 位元版本之後,如果用來加密憑證的金鑰大小設為 1024,則不需要變更配置。不過,如果金鑰大小設為 512,則為使用 Proxy 的 128 位元加密,您必須以 1024 金鑰大小建立新憑證。請利用 IBM Key Manager 公用程式 (iKeyman) 來建立新的金鑰。
請參閱金鑰與憑證管理,以取得 IBM Key Manager 公用程式的詳細說明。
請注意:本產品版本不支援在 SuSE Linux 上加密。
遵循這個程序,使 SSL 訊號交換常式能夠卸載至密碼硬體卡:
Tivoli Access Manager(早期稱為 Tivoli Policy Director)提供了一個 Caching Proxy 外掛程式,它可讓 Caching Proxy 利用 Access Manager 來進行鑑別和授權。這個外掛程式可讓使用 Access Manager 進行 Web 存取控制的企業加入 Edge 技術,而不需要為 Proxy 伺服器重複設定個別的授權架構。
如果需要 Tivoli Access Manager 的其他資訊,請檢視產品網站: http://www.ibm.com/software/tivoli/products/。如果需要軟硬體需求以及安裝 Access Manager 外掛程式的相關資訊,請參閱 Tivoli Access Manager 隨附的說明文件。
Access Manager 外掛程式提供了 Caching Proxy 的設定 Script。
執行 Script 之前,執行下列步驟:
這個設定 Script 的名稱為 wslconfig.sh, 位於 /opt/pdweb-lite/bin/ 目錄下。 當出現提示時,輸入 Access Manager 管理者 ID 和 LDAP 管理者名稱。
配置 Script 會自動執行下列步驟:
ServerInit /opt/pdweb-lite/lib/wesauth.so:WTESeal_Init /opt/pdweb-lite/etc/ibmwesas.conf
PreExit /opt/pdweb-lite/lib/wesauth.so:WTESeal_PreExit
Authorization * /opt/pdweb-lite/lib/wesauth.so:WTESeal_Authorize
ServerTerm /opt/pdweb-lite/lib/wesauth.so:WTESeal_Term
建立一個 Protect 陳述式和 Protection 設定,將所有要求轉遞至 Access Manager 鑑別程序, 如下所示:
Protection PROXY-PROT {
ServerId WebSEAL-Lite
Mask All@(*)
AuthType Basic
}
Protect * PROXY-PROT
在配置 Proxy 伺服器和 Access Manager 外掛程式之後,請使用指令 wslstartwte 而非 ibmproxy start 來啟動 Proxy 伺服器。wslstartwte 指令會自動載入起始設定 Access Manager 外掛程式所需的環境變數。 啟動 Proxy 伺服器時,如果您未使用 wslstartwte,則會出現有關 Access Manager 外掛程式的錯誤訊息。在使用這個外掛程式時,對應的停止指令 ibmproxy stop 仍然有效。
PAC-LDAP 授權模組可讓 Caching Proxy 在執行授權或鑑別常式時存取「輕裝備目錄存取通訊協定」(LDAP) 伺服器。 這個模組是由兩個元件集組成:可新增 LDAP 功能到 Caching Proxy API 的一對共用程式庫, 以及一個「策略鑑別控制」(Policy Authentication Control,PAC)常駐程式。快取 Proxy 啟動時,ibmproxy.conf 檔內的 ServerInit 指引會指示共用程式庫起始設定一個或多個 PAC 常駐程式。共用程式庫會讀取 paccp.conf 檔以判斷 PAC 常駐程式的數目和性質。 在起始設定期間,常駐程式會讀取 pac.conf 檔以取得配置指引, 並讀取 pacpolicy.conf 以取得策略資訊。 然後,ibmproxy.conf 檔內的 Authentication 指引會指示 Proxy 伺服器在每次需要鑑別時呼叫共用程式庫, 或是會有一個 Authorization 指引在標準 HTTP 要求處理期間使用快取 Proxy 工作流程。
鑑別程序會判斷所提供的一組認證 - 使用者名稱和密碼 - 是否有效。這個程序包括確認使用者在登錄中, 且提供的密碼符合儲存在登錄中的密碼。這些動作會在鑑別步驟期間,利用 PAC-LDAP 模組來執行。
啟用 PAC-LDAP 授權模組進行鑑別時,它會變成可從其中擷取使用者 ID、密碼和群組的預設儲存庫。 當 HTTP 要求通過快取 Proxy 工作流程時,每一個 Protect 指引都會比較要求的 URL 與其要求範本。 如果符合,Protect 指引會呼叫保護綱目,該綱目包含伺服器 ID、要使用的鑑別類型、套用到要求用戶端的遮罩規則,以及密碼檔和群組檔案的位置。 如果沒有定義密碼檔,那麼會透過 PAC-LDAP 授權模組擷取使用者 ID 和密碼。 類型 0、1、2 和 3 策略定義鑑別架構。 如果鑑別通過,則服務要求;否則,快取 Proxy 會將 401 錯誤傳回用戶端。
授權程序會判斷使用者是否有必要的許可權來存取受保護的資源。當您使用 PAC-LDAP 模組時, 這個動作包括套用位於 pacpolicy.conf 檔中,用於 HTTP 要求的授權規則。
啟用 PAC-LDAP 授權模組進行授權時,會將 pacpolicy.conf 檔內的授權規則套用到 HTTP 要求。 當 HTTP 要求通過快取 Proxy 工作流程時,每一個 Protect 指引都會比較要求的 URL 與其要求範本。如果符合,Protect 指引會呼叫保護綱目。 在這種情況下,保護綱目就是 PAC-LDAP 授權模組所使用的授權常式。Authorization 指引會比較要求的 URL 與其要求範本,如果符合,就會呼叫 PAC-LDAP 授權模組。 在 pacpolicy.conf 檔中所定義的類型 4 策略進一步修正不同 URL 要求所需要的鑑別。
LDAP 以最不消耗系統資源的方式對 X.500 目錄提供交談式存取。IANA 將 TCP 埠 389 和 UDP 埠 389 指定給 LDAP。 如果需要詳細資訊,請參閱 RFC 1777,它會定義 LDAP。
安裝 WebSphere Application Server 6.0.1 版的 Caching Proxy 系統時,會自動安裝 PAC-LDAP 授權模組的所有元件。在 Linux 和 UNIX 系統中,Caching Proxy 程式庫 (./lib/) 目錄、PAC-LDAP 授權模組程式庫 (./lib/plugins/pac/) 目錄、二進位 (./bin/) 目錄,以及配置 (./etc/) 目錄都建立在 /opt/ibm/edge/cp/ 目錄內。然後從 /usr/lib/、/usr/sbin/ 和 /etc 目錄建立這些產品特定目錄的符號鏈結。
目錄結構
| Linux 和 UNIX 目錄 | Windows 目錄 | 內容 |
|---|---|---|
| /opt/ibm/edge/cp/ | \Program Files\IBM\edge\cp\ | Caching Proxy 基本目錄 (cp_root ) |
| cp_root/sbin/ | \Program Files\IBM\edge\cp\Bin\ | Caching Proxy 二進位及 Script |
| /usr/sbin/ | cp_root/sbin/ 的符號鏈結 | |
| cp_root/etc/ | \Program Files\IBM\edge\cp\etc\ | Caching Proxy 配置檔 |
| /etc/ | cp_root/etc/ 的符號鏈結 | |
| cp_root/lib/ | \Program Files\IBM\edge\cp\lib\ plugins\ | Caching Proxy 程式庫 |
| cp_root/lib/ plugins/pac/ | \Program Files\IBM\edge\ cp\lib\plugins\pac\ | PAC-LDAP 授權模組程式庫 |
| /usr/lib/ | cp_root/lib/ 與 cp_root/lib/ plugins/pac/ 的符號鏈結 | |
| cp_root/server_root/pac/data/ | \Program Files\IBM\ edge\cp\server_root\pac\data\ | PAC-LDAP 授權模組資料儲存體 |
| cp_root/server_root/ pac/creds/ | \Program Files\IBM\ edge\cp\server_root\pac\creds\ | PAC-LDAP 授權模組認證 |
LDAP 外掛程式檔案
| Linux 和 UNIX 檔案名稱 | Windows 檔案名稱 | 說明 |
|---|---|---|
| libpacwte.so | pacwte.dll | 共用程式庫 |
| libpacman.so | pacman.dll | 共用程式庫 |
| pacd_restart.sh | pacd_restart.bat | PAC 常駐程式重新啟動 Script |
| paccp.conf, pac.conf, pacpolicy.conf | paccp.conf, pac.conf, pacpolicy.conf | 配置與策略檔案 |
如果要在 PACD 常駐程式和 LDAP 伺服器之間啟用 Secure Socket Layer (SSL) 連線,您應該安裝 LDAP 用戶端套件所需要的 GSkit 套件。 依預設,Caching Proxy 機器需要 GSkit 7,也會提供 GSkit 7,但它可能不是機器中的 LDAP 用戶端所需要的版本。 在相同機器中,有可能在不同程序上使用不同的 GSkit 版本。
請將 GSkit 金鑰檔放在 $pacd_creds_dir/pac_keyring.kdb 中,將密碼放在 $pacd_creds_dir/pac_keyring.pwd 中。
在 Linux 系統上,必須按照下述來配置 LD_PRELOAD 環境變數, 才能夠在 PACD 常駐程式與 LDAP 伺服器之間啟用 SSL 連線。設定變數成為下列值:
LD_PRELOAD=/usr/lib/libstdc++-libc6.1-1.so.2
這一節先前所參照的 GSKit 需求也適用於 Linux 系統。
必須將 ServerInit、Authorization 或 Authentication 以及 ServerTerm 這三個指引新增到 ibmproxy.conf 檔的 API 指引區段, 才能起始設定 PAC-LDAP 授權模組。如果要建立這些指引, 請手動編輯 ibmproxy.conf 檔,或是如果 Proxy 伺服器已經在執行, 以網際網路瀏覽器連接至「配置與管理」表單, 並開啟「API 要求處理程序」表單(按一下伺服器配置 -> 要求處理程序-> API 要求處理程序)。 每一個指引都必須出現在 Proxy 配置檔中的單一行,無論本節中所給定的範例是否為了方便閱讀而換行。
請注意:原型指引(以備註型式)是在 ibmproxy.conf 檔的 API 區段中所給定的。這些 API 指引是按照目的排序。 當新增 API 指引來啟用新特性及外掛程式模組時,請依照配置檔原型區段所顯示來排序指引。 另外,必要的話,請解除註解和編輯 API 指引來支援每一個所需要的功能或外掛程式。
ServerInit 指引有三個引數:(1) 共用程式庫的完整路徑、(2) 函數呼叫, 以及 (3) paccp.conf 檔的完整路徑。以冒號 (:) 來區隔第一個和第二個引數。以空格來區隔第二個和第三個引數。 第一個和第三個引數是系統專屬的引數,根據安裝外掛程式元件的位置而定。 第二個引數是寫在共用程式庫內,而且必須如所顯示那樣地輸入。 使用「API 要求處理程序」表單建立 ServerInit 指引時,必須在函數名稱欄位中輸入第二個和第三個引數。會在 IP 範本直欄中顯示第三個引數。
Authorization 指引有三個引數:(1) 要求範本、(2) 共用程式庫的完整路徑, 以及 (3) 函數名稱。會比較 HTTP 要求與要求範本,以判斷是否呼叫應用程式函數。 要求範本可以包含通訊協定、網域和主機,前面可以加上一條斜線 (/), 而且可以使用星號 (*) 作為萬用字元。例如,/front_page.html、http://www.ics.raleigh.ibm.com、/pub*、/* 和 * 均有效。 函數名稱是在程式內給予應用程式函數的名稱。 它是寫在程式內的而且必須如所顯示那樣地輸入。 以空格來區隔前兩個引數。 以冒號 (:) 來區隔後兩個引數。
Authentication 指引有兩個引數:(1) 共用程式庫的完整路徑和 (2) 函數名稱。這些引數用冒號 (:) 來定界。 第一個引數是系統專屬的引數,而且根據安裝共用程式庫的位置而定。 當利用 Caching Proxy 作為反向 Proxy 時,第一個引數的 URL 範本開頭必須是文件根目錄 (/)。 第二個引數寫在共用程式庫內,而且必須完全依照所顯示來輸入。
ServerTerm 指引有兩個引數:(1) 共用程式庫的完整路徑和 (2) 函數名稱。 這些引數用冒號 (:) 來定界。 第一個引數是系統專屬的引數,而且根據安裝共用程式庫的位置而定。 第二個引數是寫在共用程式庫內,而且必須如所顯示那樣地輸入。 關閉 Proxy 伺服器時,這個指引會終止 PAC 常駐程式。如果常駐程式的擁有者與 Proxy 伺服器的擁有者不同, Proxy 伺服器可能無法停止常駐程式,在這種情況下管理者必須手動停止常駐程式。
ServerInit path_of_shared_library:pacwte_auth_init path_of_conf_policy_file
Linux 和 UNIX 範例:
ServerInit /usr/lib/libpacwte.so:pacwte_auth_init /etc/pac.conf
Windows 範例:
ServerInit C:\Progra ~1\IBM\edge\cp\lib\plugins\ pac\pacwte.dll:pacwte_auth_init C:\Progra ~1\IBM\edge\cp
授權要求範本 path_of_shared_library:pacwte_auth_policyLinux 和 UNIX 範例:
Authorization http://* /usr/lib/libpacwte.so:pacwte_auth_policy
Windows 範例:
授權 http://* C:\Program Files\IBM\edge\cp\lib\plugins\
pac\pacwte.dll:pacwte_auth_policy
鑑別 BASIC path_of_shared_library:pacwte_auth_policyLinux 和 UNIX 範例:
Authentication BASIC /usr/lib/plugins/pac/libpacwte.so:pacwte_auth_policy
Windows 範例:
鑑別 BASIC C:\Program Files\IBM\edge\cp\lib\plugins\
pac\pacwte.dll:pacwte_auth_policy
ServerTerm path_of_shared_library:pacwte_shutdownLinux 和 UNIX 範例:
ServerTerm /usr/lib/libpacwte.so:pacwte_shutdown
Windows 範例:
ServerTerm BASIC C:\Program Files\IBM\edge\cp\lib\plugins\
pac\bin\pacwte.dll:pacwte_shutdown
必須使用文字編輯程式來手動編輯 PAC-LDAP 授權模組配置檔和策略檔。以冒號 (:) 來區隔指引名稱與它的第一個引數。以逗點 (,) 來區隔多個引數。配置和策略檔包含註解以協助編輯。 下面顯示重要策略指引。
在起始設定 Caching Proxy 期間,paccp.conf 由共用程式庫讀取, 它包含會啟動的每一個 PAC 常駐程式的定義 ([PAC_MAN_SERVER] 段落)。 每一個 PAC 常駐程式必須有它自己的 [PAC_MAN_SERVER] 段落。
[PAC_MAN_SERVER]
hostname: # name of PAC daemon
port: # port pacd is listening on
[PACWTE_PLUGIN]
hostname_check:[true|false] # enables DNS lookup. Must have
# DNS lookup turned on for ibmproxy to work.
pac.conf 檔指定 PAC 常駐程式嘗試連接的 LDAP 伺服器。
[PAC_MAN_SERVER]
hostname: # name of PAC daemon
port: # port pacd is listening on
conn_type:ssl # comment out if you do not use SSL
authentication_sequence: [primary|secondary|none]
authorization_sequence: [primary|secondary|none]
[LDAP_SERVER]
hostname: # LDAP Server hostname
port:389 # Port LDAP is listening on
ssl_port:636 # SSL port used by the LDAP server
admin_dn: # User with permission to access the LDAP server
# specify admin_dn:NULL to enable anonymous binding
search_base: # Portion of LDAP tree to search for policy info
# If not required, specify search_base:NULL
search_key: # ID field to search
[CACHE]
cred_cache_enabled [TRUE|FALSE] # turn credentials cache on
cred_cache_min_size:100 # minimum number of credentials to cache in pacd
cred_cache_max_size:64000 # maximum number of credentials to cache in pacd
cred_cache_expiration:86400 # when a credential expires
policy_cache_enabled:[TRUE|FALSE] # turns policy cache on/off
policy_cache_min_size:100 # min. number of policy related items to cache
policy_cache_max_size:64000 # max. number of policy related items to cache
policy_cache_expiration:86400 # when a policy related item expires
每一個 LDAP 策略使用配置和策略檔內的下列範本。 每一個策略的開頭必須是以方括弧([])括住的大寫關鍵字 POLICY。
[POLICY]
default_policy:[grant|deny] # describes the default policy for users
# that are not described in the POLICY section
pac_client_hotname: # the instances of Caching Proxy that are allowed
# to use a policy list
id: # the id for the LDAP entry or ip/hostname
# (wildcard supported, such as *.ibm.com)
grant:[true|false] # true means to grant access, false means
# to deny access
type:[0|1|2|3|4] # 0 LDAP entry that is a group,
# 1 LDAP entry that is not a group,
# 2 IP address
# 3 hostname
# 4 URL
propagate:[true|false] # true means that the access rights (grant
# or deny) will be propagated to all
# descendants or members
stop_entry:[entry|NULL] # Propagation of the access right stops
# at this entry. If the id is a group,
# stop_entry must be set to NULL.
# stop_entry may be applied to an IP
# address or hostname. Each stop_entry
# must be on its own line
exception_entry:[entry|NULL] # Assignment of the access right skips
# these entries, but continues through their
# subtrees. This may be a list of entries.
# exception_entry may be applied to a group,
# IP address, or hostname. Each
# exception_entry must be on its own line.
Exception_type:
Exception:
唯有 IP 位址的最後一個位置或 id 和 stop_entry 指引中主機名稱的第一個位置才支援萬用字元 (*)。exception_entry 不支援萬用字元。 任何欄位中的任何 LDAP 項目都不支援萬用字元。
支援多個策略,如果發生策略衝突則 false 值永遠優先。 換句話說,任何策略中的單一拒絕都會攔阻存取。 在配置和策略檔中列示的策略順序並無關聯而且不會建立優先順序。
關於一組策略範例,請參閱配置檔目錄中的 pacpolicy.conf 檔。
在 /cp_root/server_root/pac/creds 中建立純文字檔 pac_ldap.cred。這個檔案包含對應於 admin_dn 指引(位於 pac.conf 檔)中之使用者名稱的密碼。
PAC 常駐程式第一次讀取這個檔案時會加密密碼。
如果要在 Linux 和 UNIX 平台中建立 pac_ldap.cred 檔,請發出下列指令:
cd cp_root/server_root/pac/creds echo "password" > pac_ldap.cred chown nobody pac_ldap.cred chgrp nobody pac_ldap.cred (在 SuSE Linux 上,請使用 chgrp nogroup pac_ldap.cred。)
如果要在 Windows 平台中建立該檔案,請將密碼輸入文字檔中,並將該檔案儲存在 server_root\pac\creds\ 目錄下。
LDAP 授權常駐程式以 pacd 程序的方式執行。 您可以利用提供的 Script 來重新啟動 LDAP 授權常駐程式,而不需中斷 Caching Proxy。請執行 pacd Script,如下所示:
/usr/sbin/pacd_restart.sh pacd_user_idC:\Program Files\IBM\edge\cp\Bin\pacd_restart.bat CP_install_root
kill -15 pacd_process_ID在 HP-UX 上:PAC-LDAP 外掛程式和 pacd 可能不會在執行時期載入其所有相依的共用程式庫。在使用它們之前,請先確定系統變數已設定如下:
SHLIB_PATH=/usr/lib:/usr/IBMldap/lib PATH=/usr/IBMldap/bin:$PATH PATH=/usr/IBMldap/bin/usr/IBMldap/
是 LDAP 用戶端在 HP-UX 上的預設安裝路徑。如果 LDAP 用戶端安裝在不同的位置上,請據以調整 PATH 和 SHLIB_PATH。如果不設定這些變數,可能會發生下列錯誤:
"Serverinit 錯誤:伺服器未從 DLL 模組 /opt/ibm/edge/cp/lib/plugins/pac/libpacwte.sl 載入函數"
"/usr/lib/dld.sl:找不到共用程式庫的路徑:libibmldap.sl /usr/lib/dld.sl:沒有這個檔案或目錄 中止"
在 AIX 中:當利用 IBM Tivoli Directory Server 5.2 來啟動 pacd 時,可能無法載入 PAC-LDAP 模組,且會發生下列錯誤:
exec(): 0509-036 無法載入 /usr/sbin/pacd 程式,因為發生下列錯誤:
0509-022 無法載入 /usr/lib/libpacman.a 模組。
0509-150 無法載入相依模組 libldap.a。
0509-022 無法載入 libldap.a 模組。如果要暫時解決這個問題,請建立下列符號:ln -s /usr/lib/libibmldap.a /usr/lib/libldap.a
無法擷取 Uid 值,回覆碼:3即使 LDAP 鑑別能夠正確運作,也會出現這個錯誤,您可以不處理它。
這個部分提供您使用日誌與「伺服器活動監視器」來監視 Caching Proxy 的指令。
這個部分包含下列各主題:
如果要自訂日誌,您可以使用配置與管理表單或在 Proxy 配置檔中編輯指引。 您可設定下列選項:
除了事件日誌及錯誤日誌之外,Caching Proxy 還可以建立三種類型的存取日誌:
Caching Proxy 會在每日午夜建立新日誌檔。如果 Proxy 在午夜時未執行, 則會在那天第一次啟動它時建立新日誌。您可以對每個日誌檔指定目錄及檔名前置符號; 所建立的每一個日誌檔也會包含格式為 .Mmmddyyyy 的日期字尾(例如,.Apr142000)。
由於日誌會佔用大量的空間,所以請考慮將日誌檔分別儲存在與快取及作業系統分開的儲存裝置上,以避免錯誤發生。 此外,也請考慮如維護及保存日誌中所指定的程序來配置日誌維護常式。
如果要指定 Proxy 伺服器日誌的基本配置,請在配置與管理表單, 選取伺服器配置 -> 記載 -> 日誌檔。 指定所要使用的每個日誌檔之路徑及檔案名稱。 每一個日誌的現行檔名會顯示在對應的文字框內;如果您尚未指定路徑,則會顯示預設路徑。
記錄到 Proxy 日誌的資訊並不會自動寫入系統日誌中,但可將 Caching Proxy 配置成除了寫入至它自己的日誌之外還寫入至系統日誌,或配置成只寫入系統日誌。 請在日誌檔表單中,選取將資訊載至 Syslog 勾選框。 請注意:選擇這個選項前必須建立系統日誌。
如果要指定將 Proxy 伺服器日誌資訊只寫入至系統日誌中,則必須編輯 Proxy 配置檔; 請參閱LogToSyslog -- 指定是否傳送存取資訊給系統日誌(只限 Linux 和 UNIX)的參考章節。
相關的配置檔指引
如果要使用 Proxy 配置檔來設定日誌,請參閱附錄B. 配置檔指引中的下列指引參考章節:
存取日誌記錄主機、proxy 及快取的活動。 對於您 Proxy 收到的每一個存取要求,將在適當的存取日誌中建立一個項目,包含下列資訊:
存取錯誤會記錄到伺服器的錯誤日誌中。
以下是限制記載內容的一些理由:
工作中伺服器的日誌檔可能會大到填滿整個伺服器磁碟空間。依預設,所有存取要求都會被記錄,這表示所建立的日誌項目不僅 針對 HTML 頁面,而且針對該頁面內含的每一個影像。僅併入有意義的存取要求,可大量減少日誌的項目數。例如,您可以配置存取日誌, 使僅包含對 HTML 頁面的存取要求之日誌項目,而不包含對 GIF 影像的要求之日誌項目。
比方說,如果您想知道是誰從貴公司以外之處存取您的伺服器,可以過濾從公司內部 IP 位址發出的存取要求。 如果您想知道某個特定網站的訪客數量,可以建立一個僅顯示該 URL 的存取要求之存取日誌。
存取日誌以外的資訊不會被記錄在任何存取報告中,而且無法供未來使用。因此,如果您不確定需要追蹤多少存取資訊,則在獲得監視伺服器的經驗之前, 引用互斥過濾器時要保守一點。
存取日誌項目可根據以下任何屬性來過濾:
如果要指定過濾器,請在配置與管理表單中選取伺服器配置 -> 記載 -> 存取日誌排除項目。僅指定您要的排除項目。不需要填寫全部種類。
按一下送出。
相關的配置檔指引
如果要使用 Proxy 配置檔來設定存取日誌過濾器,請參閱附錄B. 配置檔指引中的下列指引參考章節:
所有日誌皆以 Caching Proxy 預設配置啟用。這些日誌儲存於安裝目錄的 logs/ 子目錄下。 預設路徑如下:
每一個日誌檔名稱是由基本名稱及日期字尾(格式為 .Mmmddyyyy)所組成, 例如,proxy.Feb292000。
依預設,日誌以一般檔案格式儲存。 合併日誌格式也是可用的格式,可藉由將下面這一行新增到 Proxy 配置檔 (ibmproxy.conf) 來設定。
LogFileFormat combined
合併日誌格式類似一般格式,但增加了顯示 referrer、使用者代理程式及 cookie 資訊的欄位。本地時間格式為預設時間格式。
依預設,所有存取要求會記錄到適當的存取日誌中,而不會將存取資訊記錄到系統日誌中。錯誤日誌資訊只寫入錯誤日誌中, 而事件日誌資訊只寫入事件日誌中。
在預設配置中,日誌不會被保存或刪除。
Caching Proxy 使用外掛程式來管理日誌。有關進一步的資訊, 請參閱附錄B. 配置檔指引中的配置檔指引參考頁:Midnight -- 指定要用來保存日誌的 API 外掛程式。
您可以指定如何保存及移除每日日誌。基本選項為:
依預設,維護代理程式不會刪除今天和前幾天的日誌。 維護代理程式不會壓縮今天和前幾天的快取存取日誌。
如果要配置日誌維護,請在配置與管理表單中選取伺服器配置 -> 記載 -> 日誌保存。在這份表單中,使用下拉方框指定維護方法。
相關的配置檔指引
如果要使用 Proxy 配置檔來配置日誌保存,請參閱附錄B. 配置檔指引中的下列指引參考章節:
下列範例顯示如何自訂日誌來符合您的需求。 假設您剛購買及安裝了 Caching Proxy。您想要設定伺服器以下列需求記載存取及錯誤資訊:
如果要配置 Caching Proxy 使日誌符合這些基準,請在配置與管理表單中選取伺服器配置 -> 記載。
遵循上述指示在 Proxy 配置檔中產生下列行:
LogArchive purge PurgeAge 30 PurgeSize 25 AccessLogExcludeURL *.gif NoLog 130.128.*.* AccessLogExcludeReturnCode 300
Caching Proxy 的「伺服器活動監視器」會顯示伺服器及網路效能統計值、伺服器及網路狀態,以及存取日誌項目。這個監視器可在遠端使用,而且不必在執行該 Proxy 伺服器的同一部機器上。 「伺服器活動監視器」會在預設狀況下啟用,並且不需要配置。
開啟「伺服器活動監視器」有兩個方法:
http://your.server.name/Usage/Initial
不同於配置用戶端中的其他表單,這個種類中的表單不設定伺服器的配置, 只是顯示有關於伺服器用法的資料。 這些表單提供相當多詳細資訊,無法全顯示在單一主控台視窗中。
下列各節說明伺服器活動監視器提供的資訊類型,並建議如何使用這個資訊來調整效能。
伺服器活動監視器有下列幾頁:
每一頁各有一個重新整理按鈕,可以用來更新頁面資訊。
活動統計值
『表 4.』顯示活動統計值頁面的範例。
| 活動統計值 | |
|---|---|
| 連線 | 1 作用中,431 最大值 |
| 回應時間 | 無法提供 |
| 產量 | 0 連線/秒 |
| 今天處理的要求數 | 0 |
| 處理的要求總數 | 114 |
| 要求錯誤數 | 3 |
您可以使用這些伺服器活動統計值,從存取要求數、回應時間、產量、今日處理的要求、處理的要求總計以及錯誤等方面來監視伺服器資料傳輸。 下列配置變更會影響活動頁面的統計值。
網路統計值
『表 5.』顯示網路統計值頁面的範例。
| 網路統計值 | |
|---|---|
| 送出的資料: | 1K 位元組/秒 |
| 進來的資料: | 1K 位元組/秒 |
| 儲存的頻寬: | 3K 位元組(0K 位元組/秒) |
| 令天儲存的頻寬: | 0K 位元組(0K 位元組/秒) |
網路統計值表單提供關於 Proxy 執行所在之網路的相關資訊, 包括已傳送及收到位元組的資料速度。
存取統計值
存取統計值頁面顯示存取日誌中最新的 20 個項目。 這個頁面顯示「Proxy 存取日誌」(黑色類型)及快取存取日誌(藍色類型)中的最新項目。 您可以自訂記載的項目來自定顯示資訊。 關於存取日誌統計值的進一步資訊,請參閱存取日誌過濾器。
Proxy 存取統計值
Proxy 存取統計值表單提供關於 Proxy 活動的相關資訊, 如已要求哪些 URL,以及是否由快取來提供這些 URL。URL 後面接的是傳送給用戶端的回覆碼,以及檔案的位元組大小。 下列設定可以增進 Proxy 存取統計值:
快取統計值
如果啟用了快取,則快取統計值頁面會顯示最新的快取存取資訊。 它提供快取及索引的相關資訊,包括下列資訊:
許多快取配置選項會變更快取統計值結果(請參閱配置 Proxy 伺服器快取)。
快取重新整理摘要
如果已配置快取代理程式來預載檔案到快取中,則快取重新整理摘要頁面會顯示快取代理程式最新執行的資訊。 快取代理程式至少必須要執行一次, 才能顯示資訊。 如果要變更快取重新整理代理程式的執行方式,請考慮下列事項:
本主題提供有關 Proxy 伺服器指令的參照。
使用 cgiparse 指令,來剖析 CGI Script 的 QUERY_STRING 環境變數。 如果沒有設定 QUERY_STRING 環境變數, 這個指令便會從其標準輸入中,讀取 CONTENT_LENGTH 字元。 所有傳回的輸出,都會寫入其標準輸出中。
cgiparse -Flag [Modifier]
旗號、它們的單字元同義字 (-k -f -v -r -i -s -p -c -q -P) 及它們的功能,包括如下:
eval 'cgiparse -init'
不論是使用 GET 或 POST 方法,這都會設定 QUERY_STRING 環境變數。
使用 GET 方法時,在相同的 Script 中可重複呼叫 cgiparse 多次, 但如果是使用 POST 方法,便只能呼叫它一次。使用 POST 方法,在讀取標準輸入之後, 當下一個 cgiparse 要讀取時會發現標準輸入已清空並無限期地等待。
下列範例忽略了 QUERY_STRING 已由伺服器設定的事實。在下列範例中,$ 是 Bourne shell 的提示符號。
$ QUERY_STRING="is+2%2B2+really+four%3F" $ export QUERY_STRING $ cgiparse -keywords is 2+2 really four? $
$ export QUERY_STRING="name1=Value1&name2=Value2%3f+That%27s+right%21"; $ cgiparse -form FORM_name1='Value1'; FORM_name2='Value2? That'\'s right!' $ eval `cgiparse -form` $ set | grep FORM FORM_name1="Value1" FORM_name2="Value2? That's right!" $
$ QUERY_STRING="name1=value1&name2=Second+value%3F+That'\'s%27s $ cgiparse -value name1 value1 $ cgiparse -value name2 Second value? That's right! $
您可以在不剖析標頭程式中,使用 cgiutils 指令來產生一個完整的 HTTP 1.0 回應。
cgiutils -Flag [Modifier]
如果 Modifier 包含空白,請以引號 ("") 將它括住。
cgiutils -ct text/html
如果您省略 type/subtype,MIME 的內容類型便會設定為預設的 text/plain。 這個範例會將 MIME 的內容類型設定為 text/plain。
cgiutils -ct
cgiutils -ce x-compress
cgiutils -cl en_UK
cgiutils -expires 2 days 12 hours
cgiutils 指令將您指定的時間新增至目前的「格林威治標準時間」, 以決定有效日期。到期日以 HTTP 格式放在 Expires: 標頭。
cgiutils -expires "1 year 3 months 2 weeks 4 days 12 hours 30 mins"
cgiutils -status 200 -reason "Virtual doc follows" -expires now
這可能會產生與下列類似的標頭:
HTTP/1.0 200 Virtual doc follows MIME-Version: 1.0 Server: IBM-ICS Date: Tue, 05 Jan 1996 03:43:46 GMT Expires: Tue, 05 Jan 1996 03:43:46 GM
cgiutils 指令自動產生 Server: 標頭,因為在 CGI 環境中可使用它。 除非指定 -nodate 旗號,否則也會自動產生 Date: 欄位。
這會在輸出之後加入一列空白行,以標示 MIME 標頭段落的結尾。 如果您要在此之後加入自屬的標頭,可依照下一範例所示, 使用 -noel (NO-Empty-Line) 旗號。
cgiutils -noel -expires "2 days" -nodate
HTTP/1.0 200 Virtual doc follows MIME-Version: 1.0 Server: IBM-ICS Expires: Tue, 07 Jan 1996 03:43:46 GMT
使用 htadm 指令來控制您的伺服器密碼檔案。 您的伺服器使用密碼檔案來控制對您檔案的存取權。 您可以新增或刪除密碼檔中的使用者名稱、驗證使用者的密碼,以及建立空的密碼檔。同時,也可以先刪除使用者的密碼,再建立新密碼,藉以變更該使用者的密碼。
htadm -Flag [Modifier]
在使用者名稱上只允許使用英數字元;請勿使用特殊字元。
如果密碼檔案中已經有一個相同名稱的使用者,則該指令會失敗。
密碼的長度可達 32 個字元。在密碼上只允許使用英數字元;請勿使用特殊字元。
密碼的長度可達 32 個字元。在密碼上只允許使用英數字元;請勿使用特殊字元。
htadm -adduser /opt/ibm/edge/cp/server_root/protect/heroes.pwd clark superman "Clark Kent"
htadm -adduser "C:\Program Files\IBM\edge\cp\server_root\protect\
heroes.pwd" clark superman "Clark Kent"htadm -deluser /opt/ibm/edge/cp/server_root/protect/
heroes.pwd clark superman "Clark Kent"htadm -deluser "C:\Program Files\IBM\edge\cp\server_root\protect\
heroes.pwd" clark superman "Clark Kent"請使用 htcformat 指令來準備原始裝置或檔案,以保留 Proxy 快取。 必須使用這個格式指令之後,才能指定與 Proxy 快取共用的裝置。
裝置路徑必須指定原始裝置。如果要取得有關存取原始裝置的詳細資訊,請參閱檔案系統說明文件。配置 Proxy 伺服器快取有提供一些範例。
Caching Proxy 快取的最小大小是 16392 KB,等於 2049 個區塊。
htcformat device [-blocksize <block size>] [-blocks number of blocks] htcformat -file filepath [-blocksize block size] -blocks number of blocks
此外,快取系統還分離快取檔案或裝置,使其成為執行索引及記憶體回收的儲存器。 儲存器大小設為某個區塊數;儲存器大小無法配置。 要執行記憶體回收最少需要兩個儲存器;最小快取大小是 16392 KB。
htcformat 指令拒絕產生少於兩個儲存器的快取裝置之格式化要求。
下例範例在 Solaris 上將名稱為 c0t0d0s0 的磁碟分割區格式化。
htcformat /dev/rdsk/c0t0d0s0
以下範例會在 AIX 上格式化一個磁碟分割區,稱為 lv02。
htcformat /dev/rlv02
以下範例會在 Windows 上格式化一個磁碟分割區,稱為 d:。
htcformat \\.\d:
下例範例將名稱為 filecache 的檔案格式化成為大約 1 GB。
htcformat -file /opt/ibm/edge/cp/filecache -blocks 131072
使用 ibmproxy 指令啟動伺服器。
您可以使用伺服器配置檔中的指引來設定所有旗號(除了 -r)。
建立 README 檔(含專供新手閱讀之指示或注意事項), 是很平常的作法。 依預設,ibmproxy 會將任何 README 檔內含在超文件版本的目錄當中。README 檔指示也可以用 DirReadme 配置指引加以設定。
ibmproxy [-Flag [-Flag [-Flag..]]]
因為 http 常駐程式必須要讀取伺服器正在使用的配置檔以存取 PidFile, 您必須在重新啟動時指定相同的配置檔。 如果您在啟動伺服器時使用 -r 旗號與特定的配置檔, 那麼您必須使用 -restart 來指定這個旗號及相同檔案。
信號處理選項也只存在於 Linux 和 UNIX 平台中。在 Linux 和 UNIX 平台中,可以使用下列選項。
ibmproxy -p 8080 -r /usr/etc/ibmproxy.conf
startsrc -s ibmproxy
如果預設配置檔不存在,ibmproxy 會匯出 /Public 目錄樹。 這個目錄樹可包含至其他目錄樹的軟體鍵結。
本主題說明內含於 ibmproxy.conf 配置檔中的指引。
如果要藉由編輯 ibmproxy.conf 檔來配置伺服器,請參考這個資訊。如果使用配置與管理表單,則不必參考本章。
按字母順序列出的指引。
有些指引在伺服器重新啟動時並不會重新整理。 如果下列指引是在伺服器執行時變更,您必須手動停止伺服器,再手動將它啟動。 (請參閱啟動與停止 Caching Proxy。)
| 指引群組 | 指引 |
| CGI | DisinheritEnv、InheritEnv |
| Caching | Caching |
| 日誌記載 | AccessLog、CacheAccessLog、ErrorLog、ProxyAccessLog、ServerRoot |
| 網路存取 | BindSpecific、Hostname、ListenBacklog、Port |
| 效能 | MaxActiveThreads |
| RTSP | 所有的 RTSP 指引 |
| SSL | 所有的 SSL 指引 |
| Linux 和 UNIX 程序控制 | GroupId、UserId |
| 雜項 | TransparentProxy |
本附錄提供有關每一個指引的下列資訊:
DirectiveName value這些是預設配置檔中所編碼的原始值。在變更配置檔時, 請只變更您希望與預設值不一樣的部分。 一開始沒有編寫預設值的指引如果出現在檔案中,它的前面會加上一個備註記號 (#)。 如果要指定這個指引的值,請在配置檔中移除備註記號並將該值加入這一行。
下列清單包含配置檔接受的值:
所有的項目都會轉換成秒鐘,而加在一起。
當編輯配置檔時,請記得下列需求:
Caching Proxy 指引如下。
使用這個指引對用戶端提供檔案,即使檔案的 MIME 類型不符合用戶端傳送的 ACCEPT: 標頭也可以。 如果這個指引設為 OFF,就不會顯示不被用戶端接受的 MIME 類型檔案。 而會顯示一個錯誤頁。
AcceptAnything {off | on}
AcceptAnything off
AcceptAnything on
使用這個指引,指定伺服器記錄存取統計值所用的目錄與檔案。 依預設,每當用戶端對伺服器傳送要取得儲存在本端伺服器中的資料之要求時, 伺服器都會寫入一個項目到這個日誌。這些項目通常只包括來自配置用戶端的要求, 或當 Caching Proxy 機器作為來源伺服器使用時的存取。這個日誌不含 Proxy 或快取存取資訊。
使用 NoLog 指引來指定您不要記載其要求的用戶端。NoLog 指引的說明,請參閱NoLog -- 不顯示與範本相符的特定主機或網域的日誌項目。
如果伺服器正在執行,那麼它會在每日午夜啟動新的日誌檔。 否則,伺服器會在任意日的第一次啟動時, 啟動一個新的日誌檔。在建立該檔時, 伺服器使用您所指定的檔名,再加上日期當作字尾。日期字尾的格式為 Mmmddyyyy, 其中 Mmm 是指月份的前三個字母; dd 是指月份的日期;而 yyyy 是指年份。
舊的日誌檔太佔硬碟空間了,最好將它們移除。
AccessLog /directory_path/logfile_name
AccessLog /logs/accesslog
使用這個指引防止記載那些以特定方法存取檔案或目錄而提出的要求。 比方說,如果不想記載檔案或目錄的 DELETE 要求,就可以這麼做。
這個指引可以在配置檔中重複出現。您亦可將數種方法放在同一個指引上(如果用一或多個空格加以分隔)。
AccessLogExcludeMethod method [...]
AccessLogExcludeMethod GET AccessLogExcludeMethod PUT AccessLogExcludeMethod POST AccessLogExcludeMethod DELETE AccessLogExcludeMethod GET PUT
無。伺服器會在存取日誌中,併入所有類型的方法所要求的檔案及目錄。
使用這個指引,可指定不想記錄在 Proxy 存取日誌要求中對於某指定 MIME 類型的目錄或檔案所提出的存取要求。(MIME 類型的範例如 text/html、image/gif 以及 image/jpeg。)例如,也許您不想記錄對 GIF 影像所提出的存取要求。
這個指引可以在配置檔中重複出現。您可以將數種 MIME 類型放在同一個指引上(如果用一或多個空格加以分隔)。
AccessLogExcludeMimeType MIME_type [...]
AccessLogExcludeMimeType image/gif AccessLogExcludeMimeType text/html AccessLogExcludeMimeType image/gif text/html
無。存取日誌包含所有 MIME 類型的檔案與目錄之伺服器要求。
使用這個指引,可以指定不想記錄落在錯誤碼編號之指定範圍內的存取要求。這些錯誤碼為 Proxy 伺服器狀態碼。您無法指定個別字碼。如果指定 300, 代表您想排除具有重新導向回覆碼(301、302、303 和 304)的存取要求。
這個指引可以在配置檔中重複出現。您可以將多重回覆碼放在同一個指引上(如果用空格加以區隔)。
AccessLogExcludeReturnCode range
AccessLogExcludeReturnCode 300
無。存取日誌包含所有伺服器的要求,而不管什麼碼。
您可以使用這個指引, 指定不要記錄對符合指定 URL 範本的特定檔案或目錄所提出的存取要求。比方說,不想記錄 GIF 檔的存取要求, 或者可能不想記錄伺服器上某些檔案或目錄的存取要求時, 就可以這麼做。
這個指引可以在配置檔中重複出現。您也可以將數個項目放在同一個指引上(如果用一或多個空格加以分隔)。
AccessLogExcludeURL file_or_type [...]
AccessLogExcludeURL *.gif AccessLogExcludeURL /Freebies/* AccessLogExcludeURL *.gif /Freebies/*
無。伺服器會記載存取所有檔案及目錄的要求。
請利用這個指引來指定您不要記載特定使用者代理程式(如 Internet Explorer 5.0)所發出的存取要求。
這個指引可以在配置檔中重複出現。您也可以將數個項目放在同一個指引上(如果用一或多個空格加以分隔)。
AccessLogExcludeUserAgent user_agent [...]
AccessLogExcludeUserAgent *Mozilla/2.0 AccessLogExcludeUserAgent *MSIE 5*
依預設,ibmproxy.conf 檔包含 AccessLogExcludeUserAgent 指引的下列定義:
AccessLogExcludeUserAgent IBM_Network_Dispatcher_HTTP_Advisor AccessLogExcludeUserAgent IBM_Network_Dispatcher_WTE_Advisor
以上列出的使用者代理程式,是定義給通常位於 Caching Proxy 伺服器之前的某些 Load Balancer 警告器的使用者代理程式。為了使寫入日誌的數量降至最低以提昇效能,系統不會記載這些使用者代理程式。依預設,伺服器日誌會記載所有其他使用者代理程式所提出的存取要求。
您可以使用這個指引來指定一個圖示, 幫您對齊位於目錄清單(伺服器做為 Proxy 以服務 FTP 要求時傳回的清單)中的標頭。 圖示出現在相關檔案的旁邊,幫助您辨別這些檔案。
圖示可以是空白圖示,也可以是您希望出現在目錄清單標頭上的圖示。為了對齊正確, 您所用的圖示,必須與您在目錄清單中所用的其他圖示大小相同。
AddBlankIcon icon_URL alternative_text
指定圖示 URL 的最後部分。 伺服器會將這個值新增至 /icons/ 目錄,以形成完整的 URL 要求。如果是要求一個本端檔案,則伺服器會經由對映指引來轉換該要求。為了擷取圖示, 對映指引必須讓要求通過。
如果您將伺服器當作 Proxy 伺服器來使用, 則完整的要求必須是一個指向您伺服器的完整 URL。
AddBlankIcon logo.gif logo
因為圖示是空白的,因此預設值不會指定替代文字。
使用這個指引來指定一個圖示,以代表目錄清單中的一個目錄。
AddDirIcon icon_URL alternatIve_text
指定圖示 URL 的最後部分。 伺服器會將這個值新增至 /icons/ 目錄,以形成完整的 URL 要求。如果是要求一個本端檔案,則伺服器會經由對映指引來轉換該要求。為了擷取圖示, 對映指引必須讓要求通過。
如果您將伺服器當作 Proxy 伺服器來使用, 則完整的要求必須是一個指向您伺服器的完整 URL。您必須將 URL 對映到本端檔案,並確保對映指引讓 URL 通過。
AddDirIcon direct.gif DIR
您可以使用這個指引,將具有特定字尾的檔案,連結到 MIME 編碼類型。 這個指引很少用。
AddEncoding .extension encoding
AddEncoding .qp quoted_printable
AddEncoding .Z x-compress
使用這個指引來指定圖示, 以代表含有特定 MIME 內容類型或編碼類型的檔案。 伺服器會在目錄清單上使用圖示,包括 FTP 目錄清單。
AddIcon icon_URL alternative_text MIME_type_template
指定圖示 URL 的最後部分。 伺服器會將這個值新增至 /icons/ 目錄,以形成完整的 URL 要求。如果是要求一個本端檔案,則伺服器會經由對映指引來轉換該要求。為了擷取圖示, 對映指引必須讓要求通過。
如果您將伺服器當作 Proxy 伺服器來使用, 則完整的要求必須是一個指向您伺服器的完整 URL。您必須將 URL 對映到本端檔案,並確保對映指引讓 URL 通過。
AddIcon video_file.m.pm.gif MOV video/*
在 ibmproxy.conf 配置檔中對 AddIcon 指引設定許多個預設值。
使用這個指引來指定一個圖示,以代表目錄清單中的上層目錄。
AddParentIcon icon_URL alternative_text
指定圖示 URL 的最後部分。 伺服器會將這個值新增至 /icons/ 目錄,以形成完整的 URL 要求。如果是要求一個本端檔案,則伺服器會經由對映指引來轉換該要求。為了擷取圖示, 對映指引必須讓要求通過。
如果您將伺服器當作 Proxy 伺服器來使用, 則完整的要求必須是一個指向您伺服器的完整 URL。您必須將 URL 對映到本端檔案,並確保對映指引讓 URL 通過。
AddParentIcon parent.gif UP
AddParentIcon dir-up.gif UP
您可以使用這個指引,將具有特殊字尾的檔案與 MIME 類型或子類型加以連結。這個指引可以在配置檔中重複出現。伺服器可以提供最常用的預設字尾。
AddType .extension type/subtype encoding [quality[ character_set]]
其他的編碼值會收到與二進位相同的處置, 且在 MIME 標頭中以內容編碼 MIME 標頭的方式傳遞。7bit 和 8bit 的規格不會在 MIME 標頭中傳送。
AddType .ps application/postscript 8bit 1.0 AddType *.* application/binary binary 0.3
AddType .bin application/octet-stream binary 0.8
AddType 指引的數個預設設定內含於配置檔中 (ibmproxy.conf)。
使用這個指引來指定一個圖示, 代表目錄清單中具有不明檔案類型的檔案。
AddUnknownIcon icon_URL alternative_text
指定圖示 URL 的最後部分。 伺服器會將這個值新增至 /icons/ 中,以形成完整的 URL 要求。如果是要求一個本端檔案,則伺服器會經由對映指引來轉換該要求。為了擷取圖示, 對映指引必須讓要求通過。
如果您將伺服器當作 Proxy 伺服器來使用, 則完整的要求必須是一個指向您伺服器的完整 URL。您必須將 URL 對映到本端檔案,並確保對映指引讓 URL 通過。
AddUnknownIcon saywhat.gif unknown
使用這個指引,指定管理者可用來存取伺服器狀態頁或配置表單的連接埠。這個連接埠的要求不會隨著所有其他進入的要求(在以 Port 指引定義的標準連接埠上)置於佇列。不過,AdminPort 上的要求將通過如同 Pass、Exec、Protect 等相同的正常存取控制及要求對應規則。
AdminPort port_number
AdminPort 2001
無
使用這個指引來指定是否仍要快取由來源伺服器傳回且標示成無法快取的檔案。 根據這個指引而快取的不可快取檔案會標示成 must revalidate。 每次要求這個檔案時,Proxy 伺服器會傳送 If-Modified-Since 要求給來源伺服器來重新驗證回應,然後快取記憶體才提供回應。 目前看來, 這個指引影響所及的無法快取檔案, 只有來自來源伺服器(含 cache-control: no-cache 標頭)所傳來的回應。您可以多次指定這個指引。
AggressiveCaching url_pattern
AggressiveCaching http://www.hosta.com/* AggressiveCaching http://www.hostb.com/*
為了舊版相容性,現在是以下列方式來處理這個指引先前的語法 (AggressiveCaching {on | off}):
無
如果只含有目錄名稱而沒有檔案名稱的要求, 則 AlwaysWelcome 指引會控制伺服器是否要在目錄中尋找要傳回的歡迎使用檔案。依預設,AlwaysWelcome 會被設成 on 值。 這表示伺服器通常會在所要求的目錄中, 尋找檔案(符合在 Welcome 指引中所指定的名稱)。如果找到相符的檔案,則將它傳回要求者。 如果伺服器在目錄中的檔案與 Welcome 指引檔名之間找到數個相符的檔案, 則 Welcome 指引的順序會決定哪個檔案已傳回。伺服器會使用最靠近配置檔頂端的 Welcome 指引。
AlwaysWelcome on | off
AlwaysWelcome on
使用這個指引來指定 URL,Caching Proxy 會針對這些 URL 將換行字元及跳行字元附加到 POST 要求的本文 (body) 之結尾處。您可以多次指定這個指引。
appendCRLFtoPost url_pattern
appendCRLFtoPost http://www.hosta.com/
無
使用這個指引來指定伺服器所要共用的遠端快取陣列。
ArrayName array_name
無
這個指引可以指定您希望伺服器執行要求處理的「鑑別」步驟期間,呼叫的自訂應用程式函數。根據鑑別架構執行這個程式碼。只支援 BASIC 鑑別。
Authentication type /path/file:function_name
Authentication BASIC /ics/api/bin/icsextpgm.so:basic_authentication
無
這個指引可以指定伺服器執行要求處理的「授權」步驟時,應呼叫的自訂應用程式函數。這個程式碼將驗證要求的物件是否可提供給用戶端。
Authorization request_template /path/file:function_name
Authorization /index.html /api/bin/icsextpgm.so:auth_url
無
您可以使用這個指引,來開啟或關閉快取重新整理功能。如果開啟重新整理,就會自動重新整理快取記憶體內容。如果關閉重新整理,就不會呼叫快取代理程式而且會忽略它的所有設定。 如果您要用另一種方法來啟動快取代理程式(如在 Linux 和 UNIX 系統中使用 cron 工作),請將這個指引設為 off。
AutoCacheRefresh {on | off}
AutoCacheRefresh On
您可以在 multihomed 系統上使用這個指引,指定伺服器是否在單一網路位址上接收。 如果將值設為 On,伺服器會連結到 Hostname 指引中所指定的 IP 位址,而不會連結到所有本端 IP 位址。
如果沒有指定這個指引,伺服器便會連結到預設的 Hostname。
如果您更改了這個指引,則必須手動停止伺服器後再重新啟動。 如果只是重新啟動伺服器的話,伺服器將不會變更。 (請參閱啟動與停止 Caching Proxy。)
BindSpecific {on | off} [OutgoingSrcIp ip_addr | host_name]
BindSpecific Off
這個指引指定快取裝置媒體中的區塊大小(以位元組為單位)。 預設值是 8192。因為只支援這個大小,請勿變更這個值。如果需要詳細資訊,請參閱htcformat 指令的參考章節。
BlockSize size
依預設,配置檔中的 BlockSize 沒有設定。 (預設值是 8192。)
使用這個指引來指定要伺服器儲存存取 Proxy 快取的日誌的路徑及檔案名稱。僅在伺服器當作 Proxy 執行時,這個指引才有效。請參閱CacheRefreshTime -- 指定何時要啟動快取代理程式,以取得進一步資訊。
如果要能夠在 Proxy 快取中記載要求,那麼 Caching 指引必須設成 ON, 而且必須為 CacheMemory 和 CacheAccessLog 指引設定值。 選擇性地,使用 CacheDev 指引可以定義一個或多個快取裝置。
CacheAccessLog 的值可以是一個絕對路徑,也可以是 ServerRoot 的相對路徑。 (兩者各有一個範例。)
CacheAccessLog path/file
CacheAccessLog /absolute/path/logfile CacheAccessLog /logs/logfile
使用這個指引來指定伺服器記憶體回收期間所要使用的快取演算法。
CacheAlgorithm {bandwidth | responsetime | blend}
CacheAlgorithm bandwidth
您可以使用這個指引,來指定快取檔案名稱是否根據要求的送入 URL。
如果這個指引設為 on,表示快取檔案名稱是根據送入的 URL 而產生。如果指引設為 off, 則表示送入的 URL 會先經由所有可用的名稱轉換外掛程式、MAP 規則及 PROXY 規則而傳送,而快取檔案名稱是根據出現的 URL 而產生。
CacheByIncomingUrl {on | off}
CacheByIncomingURL off
您可以使用這個指引,指定您想要伺服器保存快取檔案多久時間。在執行記憶體回收時,不管檔案的到期日為何,伺服器都會刪除超出這個時間的快取檔案。在任何時間,快取中已經超過指定時間的檔案都會被要求,伺服器在服務檔案之前會再確認檔案來確定檔案有效。
CacheClean time_specification
CacheClean 2 weeks
CacheClean 1 month
您可以使用這個指引,針對伺服器未提供 Expires 或 Last-Modified 標頭的檔案,設定預設的有效時間。您可以為具有符合範本之 URL 的檔案,指定 URL 範本及有效時間。配置檔中可含多個該指引。為每個範本包含一個個別的指引。URL 範本必須包含通訊協定在內。請以月數、週數、天數及時數的組合,來指定這個時間值。
CacheDefaultExpiry URL_template expiration_time
CacheDefaultExpiry ftp:* 1 day CacheDefaultExpiry gopher:* 2 days CacheDefaultExpiry http:* 0 days
使用這個指引來指定快取儲存裝置。可以指定檔案或原始磁碟分割區。 在 AIX 平台,可以指定原始邏輯容體。(如果沒有使用記憶體快取,原始磁碟快取會產生最佳效能。)
請注意:必須備妥快取裝置之後才能指定它們。如果要準備快取裝置,請使用 htcformat 指令將該裝置格式化。如果需要詳細資訊,請參閱htcformat 指令。
必須指定多個快取裝置。每一個裝置會與相同的 CacheMemory 和 BlockSize 值相關聯。不過,每一個快取裝置會額外佔用 Proxy 伺服器機器大約 8 MB 記憶體。 使用較少大型裝置比使用較多小型裝置更有效率。為了產生最佳效率,請使用整個磁碟作為一個大型分割區(磁碟上沒有任何資料)。最佳化磁碟快取效能有提供關於快取儲存體的其他資訊。
CacheDev {raw_disk_partition | file}
AIX: CacheDev /dev/rlv02
HP-UX: CacheDev /dev/rdsk/c1t15d0
Linux: CacheDev /opt/IBMWTE/filecache1
Solaris: CacheDev /dev/rdsk/clt3d0s0
Windows: CacheDev \\.\E:
無
您可以使用這個指引,指定伺服器是否傳回過期的快取檔案。 如果您希望伺服器能傳回過期的檔案,請將值設為 off。如果您希望當用戶端要求過期檔案時,Proxy 檢查來源伺服器中是否有更新的檔案, 這時候請採用預設值 on。管理者除了正在示範伺服器,而且不在乎傳回的內容, 否則通常不會希望伺服器傳回過期的檔案。
CacheExpiryCheck {on | off}
CacheExpiryCheck On
您可以使用這個指引,指定要快取的檔案大小上限。超過這個大小的檔案就不會進行快取。可將值指定成千位元組 (B)、千位元組 (K)、百萬位元組 (M) 或十億位元組 (G)。在數目與單位(B、K、M、G)之間是否有空格都沒關係。
CacheFileSizeLimit maximum {B | K | M | G}
CacheFileSizeLimit 4000 K
您可以使用這個指引, 指定用來計算特定 URL 或所有符合範本之 URL 的到期日的值。
HTTP 伺服器經常提供檔案的上次修改時間但不提供到期日。同樣地,FTP 檔案也可能有上次修改的時間戳記, 但卻沒有到期日。Caching Proxy 根據上次修改時間計算這些檔案的有效日期。它是使用上次修改時間,來判斷檔案修改後的時間長度, 然後將這個時間值乘以 CacheLastModifiedFactor 指引上的值。 這個計算的結果就是檔案的使用期限, 或是檔案還剩下的有效時間。
也可以指定 off 或 -1 來關閉指引,不計算到期日。Proxy 伺服器是以 CacheLastModifiedFactor 指引出現在配置檔的順序加以讀取。它會採用第一個可引用在快取檔案的指引。
CacheLastModifiedFactor url factor
CacheLastModifiedFactor *://hosta/* off CacheLastModifiedFactor ftp://hostb/* 0.30 CacheLastModifiedFactor ftp://* 0.25 CacheLastModifiedFactor http://* 0.10 CacheLastModifiedFactor * 0.50
CacheLastModifiedFactor http://*/ 0.10 CacheLastModifiedFactor http://*.htm* 0.20 CacheLastModifiedFactor http://*.gif 1.00 CacheLastModifiedFactor http://*.jpg 1.00 CacheLastModifiedFactor http://*.jpeg 1.00 CacheLastModifiedFactor http://*.png 1.00 CacheLastModifiedFactor http://*.tar 1.00 CacheLastModifiedFactor http://*.zip 1.00 CacheLastModifiedFactor http:* 0.15 CacheLastModifiedFactor ftp:* 0.50 CacheLastModifiedFactor * 0.10
預設值 0.14 使一個星期前修改的檔案在一天之內到期。
使用這個指引來指定是否要從與 Proxy 相同的網域內的主機快取 URL。 通常不需要快取內部網路上的區域網站,因為內部頻寬足夠快速載入 URL。 而不快取區域網站,就可以省下快取空間, 來進行較費時的 URL 擷取作業。
CacheLocalDomain {on | off}
CacheLocalDomain on
如果後端伺服器有能力將相同 URL 的語言變式傳回給客戶,請利用這個指引來支援快取相同 URL 的不同語言。這個指引可讓 Caching Proxy 以快取回應的語言來驗證要求中的語言喜好設定。
當啟用 CacheMatchLanguage 時,在 Caching Proxy 載入快取內容之前,它會比較要求的 Accept-Language 標頭中的語言喜好設定和快取內容的語言。Caching Proxy 也會比較喜好設定距離。 如果喜好設定距離小於指定的限制,它會傳回快取複本;否則,Proxy 會將要求轉遞給後端伺服器,以取得所要求之語言的全新複本。
CacheMatchLanguage {on | off} lang-prefer-distance-limit special-id-for-all-lang
以下是指引、快取物件和要求的配置範例。
CacheMatchLanguage On 0.2
如果快取物件是簡體中文 (zh_cn),要求是:
GET / HTTP/1.1 ... Accept-Language: en_US;q=1.0, zh_cn;q=0.7, ja;q=0.3 ....
對於這個要求,客戶先要求一個英文頁面(字碼和品質是 en_US/1.0),之後是簡體中文(字碼和品質是 zh_cn/0.7),再之後是日文(字碼和品質是 ja/0.3)。 快取的物件是簡體中文。 最佳預期品質和相符語言品質的喜好設定距離是 1.0 - 0.7 = 0.3。 由於 CacheMatchLanguage 指引將限制設為 0.2,且 0.3 大於限制,因此,Proxy 會要求伺服器提供這個 URL 的新複本,而不會傳回快取的物件。
如果伺服器在傳回回應時,沒有指定語言或沒有在 Content-Language 標頭中指定 special-id-for-all-lang,因此,當下一項要求進入時,Proxy 不符合語言喜好設定,會傳回快取的複本。
CacheMatchLanguage off
您可以使用這個指引,來定義檔案可以留在快取中的最長時間長度。 快取檔案的使用期限即定義該檔案可以從快取中服務的時間長度,不檢查原始物件的時間長度是否已更新。 在某些情況下,計算後的快取檔案的使用期限可能長於您想要保存檔案的時間長度。 檔案的使用期限(由原始物件指定或以 Caching Proxy 來計算),不可大於 CacheMaxExpiry 指引所指定的限制。
在配置檔中允許這個指引出現多次。為每個範本包含一個個別的指引。
CacheMaxExpiry URL lifetime
CacheMaxExpiry ftp:* 1 month CacheMaxExpiry http://www.santaclaus.np/* 2 days 12 hours
CacheMaxExpiry 1 month
使用這個指引來指定要與快取相關連的記憶體數量。 在磁碟快取的最佳效能方面,建議對快取基礎架構支援使用(包含快取索引)的快取記憶體最小值為 64 MB。隨著快取記憶體大小的增加,快取索引也會跟著增加,而且需要更多的快取記憶體來儲存索引。64 MB 的快取記憶體值是足夠提供快取基礎架構支援,以及儲存大概 6.4 GB 磁碟快取的快取索引。如果需要更大的磁碟快取,則快取記憶體必須要有快取大小的 1% 大小。
如果使用記憶體快取,那麼請將這個指引設為包含快取和快取索引需要的記憶體數量。
這個指引的最大建議值是 1600 MB。 這項限制是因為 Caching Proxy(作為 32 位元應用程式)可以使用最多 2 GB 記憶體而決定的。 如果快取需要的記憶體數量加上常式處理程序所使用的記憶體數量接近或超過 2 GB,Caching Proxy 就不會正常地運作。
可以使用下列單位指定數量:位元組 (B)、千位元組 (K)、百萬位元組 (M) 及十億位元組 (G)。
CacheMemory amount {B | K | M | G}
CacheMemory 64 M
使用這個指引來指定要置換有效時間的檔案的 URL。 部分網站設定檔案在它們的使用期限結束之前就到期, 因此需要伺服器更頻繁地要求這個檔案。CacheMinHold 指引使到期的檔案被保留在快取記憶體中,直到指定的時間量到了之後才重新要求該檔案。 您可以多次指定這個指引。
CacheMinHold http://www.cachebusters.com/* 1 hour
無
您可以使用這個指引,指定 Proxy 伺服器是否擷取遠端伺服器的檔案。 預設值 (off) 可使得伺服器擷取遠端伺服器的檔案。 值 on 會將伺服器設為單機式快取的執行模式。如此表示伺服器只能傳回已儲存在快取中的檔案。 一般而言,當伺服器以這種模式執行時,您也會將 CacheExpiryCheck 指引設定成 off。
如果您是為示範而使用伺服器,則以單機式快取模式執行伺服器是非常有用的。如果您知道示範使用的所有檔案皆儲存在快取中,則您不需要網路連線。
CacheNoConnect {on | off}
CacheNoConnect off
您可以使用這個指引,指定只有具備符合指定範本之 URL 的檔案, 才加以快取。這個指引可以在配置檔中重複使用。為每個範本包含一個個別的指引。URL 範本必須包含通訊協定在內。如果沒有設定這個指引的值,就可以快取不符合 NoCaching 指引的 URL。 如果配置檔沒有包含 CacheOnly 和 NoCaching 指引,就可以快取任何 URL。
CacheOnly url_pattern
CacheOnly http://realstuff/*
無
您可以使用這個指引,指定查詢要求的哪些 URL 回應應該加以快取。 如果使用 PUBLIC url_pattern 值, 就會快取在 URL 中含有問號的 GET 要求之回應(如果來源伺服器包含 cache-control: public 標頭而且回應不是可快取的回應)。 如果指定 ALWAYS url_pattern 值, 就會快取在 URL 中含有問號的 GET 要求之回應(如果回應不是可快取的回應)。
您可以多次指定這個指引。
CacheQueries {ALWAYS | PUBLIC} url_pattern
CacheQueries ALWAYS http://www.hosta.com/* CacheQueries PUBLIC http://www.hostb.com/*
無
使用這個指引來指定何時向來源伺服器查詢,來判斷是否有變更快取檔案。
雖然 CacheClean 指引似乎與這個指引類似,但有一個差異。僅在使用文件之前, CacheRefreshInterval 才會指定 Proxy 重新驗證檔案,然而 CacheClean 在指定的時間後, 將使得檔案從快取中被移除。
CacheRefreshInterval URL_pattern time_period
CacheRefreshInterval time_periodCacheRefreshInterval *.gif 8 hours CacheRefreshInterval 1 week
CacheRefreshInterval 2 weeks
您可以使用這個指引,指定何時要啟動快取代理程式。您可以在指定的時間啟動快取代理程式。
CacheRefreshTime HH:MM
CacheRefreshTime 03:00
CacheTimeMargin 指引會指定文件的使用期限下限,好讓它快取。
Caching Proxy 計算每一個檔案的有效時間。如果在檔案到期之前不太可能收到檔案的另一個要求,Caching Proxy 就會認為該檔案的使用期限太短而無法快取檔案。 依預設,Caching Proxy 不會快取使用期限小於 10 分鐘的檔案。如果快取還有很多沒有用到,那麼讓指引保留起始值就可以了。如果填入快取記憶體的資料接近容量,請考慮增加最小使用期限的值。
CacheTimeMargin minimum_lifetime
CacheTimeMargin 10 minutes
對於 URL 符合指定範本的未使用的快取檔案, 您可以使用這個指引來設定伺服器保留這些檔案的最大時限。對於 URL 符合範本的未用檔案,在快取一段指定時間之後, 不論其到期日為何,伺服器都會刪除這些未使用的檔案。這個指引可以在配置檔中重複使用。為每個範本包含一個個別的指引。URL 範本必須包含通訊協定在內。請以月數、週數、天數及時數的組合,來指定這個時間值。
CacheUnused url_template time_length
CacheUnused ftp:* 3 weeks CacheUnused gopher:* 3 days 12 hours CacheUnused * 4 weeks
CacheUnused ftp:* 3 days CacheUnused gopher:* 12 hours CacheUnused http:* 2 days
使用這個指引來啟動檔案的快取功能。啟動了快取功能之後,Proxy 伺服器就可以將從其他伺服器擷取的檔案, 儲存在區域快取中。然後 Proxy 伺服器可回應相同檔案的後續要求,而不必從其他伺服器擷取它們。
Caching {on | off}
Caching on
您可以使用這個指引,指定 Caching Proxy 是否為 Content Distribution Framework 的一部分。
CdfAware {yes | no}
CdfAware no
使用這個指引來指定檔案的名稱,該檔案儲存檔名與 URL 對映資料,使得它能夠在 Content Distribution Framework 的多個 ibmproxy 實例中持續使用。Caching Proxy 會維護一個對映表,該表格會將要求的 URL 與它在 Web 伺服器上的檔名相關聯。這個檔案讓這份表單能夠在每次重新啟動之後持續儲存。 唯有當 CdfAware 指引被設成是時才使用這個指引。
CdfRestartFile path/filename
無
使用這個指引來指定日誌多少天後即進行壓縮。 日誌比 CompressAge 的設定值還舊時,就會壓縮日誌。 如果 CompressAge 設為 0,則從不壓縮任何日誌。 當天及幾天前的日誌都不會被壓縮。
CompressAge number_of_days
CompressAge 1
使用這個指引建置一個指令,該指令會識別用於壓縮日誌的壓縮公用程式,並且傳送參數到該公用程式。請在儲存日誌當中併入路徑。
壓縮公用程式必須安裝在該機器路徑中所列出的目錄下。
CompressCommand command
CompressCommand tar -cf /logarchs/log%%DATE%%.tar %%LOGFILES%% ;
gzip /logarchs/log%%DATE%%.tar
CompressCommand tar -cf /logarchs/log%%DATE%%.tar %%LOGFILES%% ;
compress /logarchs/log%%DATE%%.tar
CompressCommand zip -q /logarchs/log%%DATE%%.zip %%LOGFILES%%
CompressCommand pkzip -q d:\logarchs\log%%DATE%%.tar %%LOGFILES%%
無
使用這個指引,指定在壓縮日誌後何時要刪除該日誌。 如果日誌比 CompressDeleteAge 的天數設定值還舊,則會刪除它。 如果 CompressDeleteAge 設成 0,或它的值小於為 CompressAge 指引設定的值, 就不會刪除日誌。
CompressDeleteAge number_of_days
CompressDeleteAge 7
使用這個指引來指定額外配置檔的名稱與位置。在處理現行配置檔後, 將處理指定的配置檔中找到的指引。
無
請利用這個指引來定義連線管理要用的連線執行緒數目。
ConnThreads number
ConnThreads 5
使用這個指引來指定必須已轉送多少要求的檔案,才能讓 Caching Proxy 完成建立快取檔案, 即使已終止用戶端連線。這個變數的有效值為 0 至 100 範圍內的整數。
比方說,如果指定 ContinueCaching 75,Caching Proxy 就會繼續從內容伺服器轉送檔案並產生快取檔案(如果在 Caching Proxy 發現用戶端連線終止之前已轉送 75% 或以上的檔案)。
ContinueCaching percentage
ContinueCaching 75
使用這個指引可以提供必要的資訊給 Proxy, 讓它過濾 URL 的內容(包括分級服務資訊在內)。您可以多次指定這個指引。
DefinePicsRule "filter_name" {
DefinePicsRule "RSAC Example" {
您可以使用這個指引來連結一個預設保護設定與符合範本的要求。
DefProt request_template setup_name [FOR server_IP_address | host_name]
實際上對於符合範本的要求而言, 並不啟動保護,除非該要求也符合後續 Protect 指引上的範本。如何以 DefProt 來使用 Protect 指引的說明,請參閱Protect -- 啟動符合範本之要求的保護設定。
您可指定 IP 位址(例如,FOR 240.146.167.72)或者指定主機名稱(例如,FOR hostA.bcd.com)。
這個參數是選用性參數。如果沒有這個參數,則伺服器會將指引用在所有的要求上, 不管要求是進入 IP 位址,或是進入 URL 中的主機名稱都一視同仁。
不可對伺服器的 IP 位址指定萬用字元。
DefProt /secret/* /server/protect/setup1.acc
DefProt /secret/* SECRET-PROT
DefProt {
AuthType Basic
ServerID restricted
PasswdFile /docs/etc/WWW/restrict.password
GroupFile /docs/etc/WWW/restrict.group
GetMask authors
PutMask authors
}DefProt /secret/* CustomerA-PROT 0.67.106.79 DefProt /secret/* CustomerB-PROT 0.83.100.45
DefProt /secret/* CustomerA-PROT hostA.bcd.com DefProt /secret/* CustomerB-PROT hostB.bcd.com
無
使用這個指引, 指定快取代理程式是否要在傳送要求給目的地伺服器之後, 等候一段時間再傳送下一個要求。指定要求之間的延遲功能, 可以減少 Proxy 機器、網路鏈結以及目的地伺服器的工作負荷。 但如果不指定延遲功能,快取代理程式就可以最大的速度執行。 對於緩慢的網際網路連線來說,請考慮指定無延遲期間以便充分使用網路。
DelayPeriod {on | off}
DelayPeriod On
使用這個指引,指定快取代理程式是否要跟隨跨主機的超文字鏈結。 如果快取的 URL 包含其他伺服器的鏈結,那麼伺服器可以忽略這個鏈結或跟隨這個鏈結。 如果 DelveInto 指引設為 never,就不套用這個指引。
DelveAcrossHosts {on | off}
DelveAcrossHosts Off
使用這個指引, 指定搜尋要載入快取的網頁時,要跟隨的鏈結層數。 如果 DelveInto 指引設為 never,就不套用這個指引。
DelveDepth number_of_levels
DelveDepth 2
使用這個指引,指定快取代理程式是否要載入快取 URL 鏈結的頁面。
DelveInto {always | never | admin | topn}
DelveInto always
使用這個指引,將背景影像引用到 Proxy 伺服器所產生的目錄清單。 使用 Proxy 伺服器瀏覽 FTP 站台時會產生目錄清單。
指定背景影像的絕對路徑。如果影像位在另一個伺服器,則背景影像必須指定為完整的 URL。 如果未指定背景影像,將使用純白的背景。
DirBackgroundImage /path/file
DirBackgroundImage /images/corplogo.png DirBackgroundimage http://www.somehost.com/graphics/embossed.gif
無
使用這個指引,來指定目錄清單是否應該包含小於 1 KB 的檔案之正確位元組數目。 Off 值表示目錄清單會將不大於 1 KB 的檔案,都以 1 KB 顯示。
DirShowBytes {on | off}
DirShowBytes Off
使用這個指引來指定目錄清單在排序檔案名稱時,是否應該區分大小寫字母。
On 值表示檔案清單中大寫字母會放在小寫字母前面。
DirShowCase {on | off}
DirShowCase On
使用這個指引,來指定目錄清單是否應該包含上次修改每個檔案的日期。
DirShowDate {on | off}
DirShowDate On
使用這個指引, 指定目錄清單是否應該包含 HTML 檔案的說明。 說明是從檔案的 HTML <title> 標籤取得。
FTP 目錄清單的說明會顯示檔案的 MIME 類型(如果可以決定的話)。
DirShowDescription {on | off}
DirShowDescription On
使用這個指引來指定目錄清單是否應該在目錄中包含任何隱藏檔案。 只要是名稱以句點 (.) 開頭的檔案, 伺服器一律視為隱藏檔。
DirShowHidden {on | off}
DirShowHidden On
使用這個指引來指定伺服器是否要在目錄清單中併入圖示。圖示可用來提供一種圖形表示法, 以表示清單中檔案的內容類型。這些圖示本身是由 AddBlankIcon、AddDirIcon、AddIcon、AddParentIcon 和 AddUnknownIcon 指引來定義的。
DirShowIcons {on | off}
DirShowIcons On
使用這個指引,來設定顯示在目錄清單的說明欄位的最大字元數。
DirShowMaxDescrLength number_of_characters
DirShowMaxDescrLength 25
使用這個指引來設定目錄清單中,檔案名稱最多可使用的字元數。
DirShowMaxDescrLength number_of_characters
DirShowMaxLength 25
使用這個指引,來設定目錄清單中一律保留給檔名的字元數下限。 目錄中的檔名可以超過這個數目。不過,檔名不能超過 DirShowMaxLength 指引上指定的數目。
DirShowMinLength number_of_characters
DirShowMinLength 15
使用這個指引,來指定目錄清單是否應該包含每個檔案的大小。
DirShowSize {on | off}
DirShowSize On
使用這個指引來指定伺服器不接受哪些 HTTP 方法。 對於伺服器要拒絕的每一個方法,輸入個別的 Disable 指引。
預設配置檔中啟用了 GET、HEAD、OPTIONS、POST 和 TRACE 方法,並停用所有其他支援的 HTTP 方法。如果要停用一個目前啟動的方法,請將該方法自 Enable 指引中刪除並將它加到 Disable 指引中。
Disable method
Disable PUT Disable DELETE Disable CONNECT
請使用這個指引來指定,您不要 CGI 程式繼承哪些環境變數(除了 CGI 處理程序的特定 CGI 環境變數以外)。
依預設, 所有環境變數都是由 CGI 程式繼承。使用這個指引可以將個別的環境變數排除在外,不讓 DisInheritEnv 指引來繼承。
DisInheritEnv environment_variable
DisInheritEnv PATH DisInheritEnv LANG
在本範例中,除了 PATH 和 LANG 以外, 所有環境變數都會由 CGI 程式繼承。
無
使用這個指引來指定伺服器是否查閱提出要求的用戶端的主機名稱。
DNS-Lookup {on | off}
所使用的值都會影響伺服器的下列幾項作業:
DNS-Lookup Off
使用這個指引來指定伺服器接受哪些 HTTP 方法。
您可以啟用所需數量的 HTTP 方法。請為每個伺服器要接受的方法輸入個別的 Enable 指引。
Enable method
如果某個 URL 沒有指定 Service 指引, 那麼您可以用 Enable 指引,執行任何 HTTP 方法所自訂的程式設計。 您在這個指引上所指定的程式,將置換該方法的標準程序。
Enable method /path/fileDLL:function_name
Enable GET Enable HEAD Enable POST Enable TRACE Enable OPTIONS
請利用這個指引來啟用 TCP NODELAY Socket 選項。
當在 Caching Proxy 和用戶端之間傳輸 SSL 訊息交換或短 HTTP 回應之類的小型 IP 封包時,EnableTcpNodelay 指引可以改進效能。 依預設,會啟用所有 Socket 的 TCP NODELAY 選項。
EnableTcpNodelay {All | HTTP | HTTPS | None}
EnableTcpNodelay All
使用這個指引,指定在執行「錯誤」步驟時, 要伺服器呼叫的自訂應用程式函數。 這個程式碼只會在發生錯誤時執行,以提供自訂的錯誤常式。
Error request_template /path/file:function_name
Error /index.html /ics/api/bin/icsext05.so:error_rtns
無
使用這個指引,指定伺服器記錄內部錯誤所用的路徑與檔案名稱。
如果伺服器正在執行,那麼它會在每日午夜啟動新的日誌檔。 否則,伺服器會在任意日的第一次啟動時, 啟動一個新的日誌檔。在建立該檔時, 伺服器使用您所指定的檔名,再加上日期當作字尾。日期字尾的格式為 Mmmddyyyy, 其中 Mmm 代表月份的前三個字母; dd 代表月份的日期;而 yyyy 代表年份。
ErrorLog /path/logs_directory/file_name
您可以使用這個指引,指定伺服器遇到某種特定的錯誤狀況時, 要傳送到提出要求之用戶端的檔案名稱。 在 ibmproxy.conf 配置檔中會提供 ErrorPage 指引,使錯誤關鍵字與錯誤訊息檔案產生關聯。
如果要自訂錯誤訊息,您可以修改 ErrorPage 指引,使錯誤關鍵字與不同檔案產生關聯, 或您可以修改提供的錯誤訊息檔案。比方說,您可以變更訊息,以包含更多有關問題導因的資訊, 以及建議可能的解決方法。如果是內部網路,則可以提供使用者要找的聯絡人。
ErrorPage 指引可以放在配置檔的任何位置。 當錯誤發生時, 它會根據配置檔中所定義的對映規則來處理檔案。因此,您要傳送的檔案必須位於透過對映規則(由 Fail、Map、NameTrans、Pass、Redirect 和 Service 等指引所定義)可及的位置。最起碼一定要有一個 Pass 指引,讓伺服器傳遞錯誤訊息檔。
ErrorPage keyword /path/filename.html
ErrorPage scriptstart /HTML/errorpages/scriptstart.htmls
在這個範例當中,發生 scriptstart 狀況時, 伺服器會將 /HTML/errorpages/ 目錄中找到的 scriptstart.htmls 檔傳到用戶端。
下列 HTML 文字是檔案可能包含的範例:
<HTML> <HEAD> <TITLE>Message for SCRIPTSTART condition</TITLE> </HEAD> <BODY> The CGI program could not be started. <P> <A HREF="mailto:admin@websvr.com">Notify the administrator</A> of this problem. </BODY> </HTML>
如果符合伺服器配置檔中上述路徑的指引為 PASS /* /wwwhome/*, 則這個訊息檔的完整路徑會是 /wwwhome/HTML/errorpages/scriptstart.htmls。
每個錯誤狀況都是以關鍵字指出。 如果要決定要自訂哪些錯誤訊息,請先檢視 Caching Proxy 提供的錯誤訊息檔案, 您可以在 /HTML/errorpages 找到這些檔案。錯誤頁面包括錯誤碼、預設訊息、它們的原因說明,以及適當的恢復動作。
然後,執行下列其中一項來變更錯誤訊息:
所有錯誤關鍵字與預設錯誤訊息檔均會列在 ibmproxy.conf 檔中的 ErrorPage 指引章節。錯誤訊息檔案包括錯誤訊息號碼、關鍵字、預設訊息、說明及使用者回應(動作)。
ibmproxy.conf 檔中包含許多預設值
如果您沒有替某個錯誤狀況修改一個 ErrorPage 指引, 則會傳送伺服器針對該狀況的預設錯誤頁面。
使用這個指引來指定事件日誌路徑及檔名。事件日誌擷取關於快取本身的參考訊息。
如果伺服器正在執行,那麼它會在每日午夜啟動新的日誌檔。 否則,伺服器會在任意日的第一次啟動時, 啟動一個新的日誌檔。在建立該檔時, 伺服器使用您所指定的檔名,再加上日期當作字尾。日期字尾的格式為 Mmmddyyyy, 其中 Mmm 代表月份的前三個字母; dd 代表月份的日期;而 yyyy 代表年份。
EventLog /path/logs_directory/file_name
使用這個指引,為您想接受的要求指定一個範本, 並以執行 CGI 程式的方式加以回應。 在要求符合 Exec 指引上的範本之後, 該要求便不會與任何後續指引上的要求範本做比較。
Exec request_template program_path [Server_IP_address | host_name]
您在 request_template 與 program_path 兩者中, 必須以星號 (*) 當作萬用字元。要求中符合 request_template 萬用字元的部分, 必須以包含 CGI 程式的檔案名稱為開頭。
該要求也可以包含額外資料,這個資料會在 PATH_INFO 環境變數傳遞給 CGI 程式。這些額外的資料是放在要求上的 CGI 程式名稱後的第一個斜線字元 (/) 之後。這些資料根據 CGI 規格來傳遞。
Exec 指引是遞迴出現的,而且適用於所有的子目錄。您不必在 cgi-bin 和 admin-bin 下對每個目錄分別使用不同的 Exec 指引。
您可以指定 IP 位址(例如,240.146.167.72)或指定主機名稱(例如,hostA.bcd.com)。
這個參數是選用性參數。如果沒有這個參數,則伺服器會將指引用在所有的要求上, 不管要求是進入 IP 位址,或是進入 URL 中的主機名稱都一視同仁。
萬用字元不可以用來指定伺服器 IP 位址。
就下列範例而言,如果伺服器收到 /idd/depts/plan/c92 的要求, 則會執行 /depts/bin/plan.exe 中的 CGI 程式,且將 c92 當作輸入傳遞給程式。
下列範例中使用選用性的 IP 位址參數。如果您的伺服器接收到以 /cgi-bin/ 開頭的要求,它會根據該要求進入的網路連線 IP 位址, 自不同的目錄中,對這個要求提供服務。如果是進入 130.146.167.72 的要求, 伺服器會使用 /CGI-BIN/customerA 目錄。對於進入 0.83.100.45 位址的任何連線之要求,伺服器會使用 /CGI-BIN/customerB 目錄。
Exec /cgi-bin/* /CGI-BIN/customerA/* 130.129.167.72 Exec /cgi-bin/* /CGI-BIN/customerB/* 0.83.100.45
下列範例中使用了選用性的主機名稱參數。 如果您的伺服器接收到以 /cgi-bin 開頭的要求, 它會根據 URL 中的主機名稱, 自不同的目錄中,對這個要求提供服務。對於進入 hostA.bcd.com 的要求, 伺服器會使用 /CGI-BIN/customerA 目錄。對於進入 hostB.bcd.com 的要求,伺服器會使用 /CGI-BIN/customerB 目錄。
Exec /cgi-bin/* /CGI-BIN/customerA/* hostA.bcd.com Exec /cgi-bin/* /CGI-BIN/customerB/* hostB.bcd.com
Exec /cgi-bin/* /opt/ibm/edge/cp/server_root/cgi-bin/* Exec /admin-bin/* /opt/ibm/edge/cp/server_root/admin-bin/*
Exec server_root/cgi-bin/* Exec server_root/admin-bin/* Exec server_root/DOCS/admin-bin/*
您可以使用這個指引,將快取記憶體內容匯出到傾出檔。當記憶體快取會在重新啟動期間流失時,或是針對多個 Proxy 部署同一個快取記憶體時,這個指引很有用。
ExportCacheImageTo export_file_name
無
使用這個指引配置 Caching Proxy 去辨識一個可從中快取動態建立資源的 IBM WebSphere Application Server (它是以 Caching Proxy 配接卡模組來配置)。Caching Proxy 儲存數份 JSP 結果,這些結果亦儲存在應用程式伺服器的動態快取記憶體中。Caching Proxy 只快取其群組 ID 符合 ExternalCacheManager 項目的 IBM WebSphere Application Server 中的內容。
請注意:也需要新增 Service 指引到 Caching Proxy 配置檔才能啟用這項特性。在應用程式伺服器還需要其他配置步驟。 請參閱快取動態產生的內容,以取得完整資訊。
ExternalCacheManager External_Cache_Manager_ID Maximum_Expiry_Time
下列項目定義一個位於 www.xyz.com 網域的外部快取管理程式(一個 IBM WebSphere Application Server), 它的資源在 20 秒以內會到期。
ExternalCacheManager IBM-CP-XYZ-1 20 seconds
無
使用這個指引,為伺服器不處理的要求指定範本。 在要求符合 Fail 指引上的範本之後, 該要求便不會與任何後續指引上的要求範本再做比較。
Fail request_template [Server_IP_address | host_name]
您可以在範本中使用星號當作萬用字元。但是緊接在斜線 (/) 後面的鼻音字元 (~),必須確實符合; 不可以用萬用字元代替。
您可以指定 IP 位址(例如,240.146.167.72)或指定主機名稱(例如,hostA.bcd.com)。
這個參數是選用性參數。如果沒有這個參數,則伺服器會將指引用在所有的要求上, 不管要求是進入 IP 位址,或是進入 URL 中的主機名稱都一視同仁。
不可對伺服器的 IP 位址指定萬用字元。
在下列範例中,伺服器會拒絕以 /usr/local/private/ 開頭的所有要求。
Fail /usr/local/private/*
下列範例是使用選用性的 IP 位址參數。 如果要求是進入 IP 位址 240.146.167.72 的網路連線,則伺服器會拒絕開頭是 /customerB/ 的任何要求。如果要求是進入 IP 位址 0.83.100.45 的網路連線,則伺服器會拒絕開頭是 /customerA/ 的任何要求。
Fail /customerB/* 240.146.167.72 Fail /customerA/* 0.83.100.45
下列範例是使用選用性的主機名稱參數。 如果要求是進入 hostA.bcd.com , 伺服器會拒絕任何以 /customerB/ 開頭的要求。 如果要求是進入 hostB.bcd.com, 伺服器會拒絕任何以 /customerA/ 開頭的要求。
Fail /customerB/* hostA.bcd.com Fail /customerA/* hostB.bcd.com
無
使用這個指引, 告訴 Proxy 用 SOCKS 配置檔來決定要建立哪一種類型的連線。
flexibleSocks {on | off}
flexibleSocks on
使用這個指引,使得 FTP 伺服器能夠對目錄產生歡迎使用或描述性訊息。這個訊息可以選擇性地顯示,作為 FTP 清單的一部分。FTPDirInfo 指引容許您控制將在何處顯示該訊息。
FTPDirInfo {top | bottom | off}
FTPDirInfo top
如果您的 Proxy 伺服器是 Proxy 鏈結的一部分, 請使用這個指引,指定另一個 Proxy 的名稱,讓伺服器針對 FTP 要求加以連接。 您必須指定完整的 URL,包括尾端的斜線字元 (/)。如果需要使用選用的網域名稱或範本的資訊,請參閱no_proxy -- 直接連接到網域的範本。
ftp_proxy full_URL [domain_name_or_template]
ftp_proxy http:// outer.proxy.server/
無
使用這個指引,指定是否應將 FTP URL 中的路徑資訊, 解譯為相對於登入使用者的工作目錄,還是相對於根目錄。
FTPUrlPath {relative | absolute}
如果 FTPUrlPath 指引設為 absolute, 那麼在 FTP URL 路徑中,一定要加入登入使用者的 FTP 工作目錄。 如果指定的是 FTPUrlPath Relative, 那麼在 FTP URL 路徑中,絕對不可加上登入使用者的 FTP 工作目錄。 比方說,如果要存取檔案 test1.html(它包含於登入使用者的工作目錄 /export/home/user1 中),需要下列 URL 路徑,這是根據 FTPUrlPath 指引的設定而定:
無
您可以使用這個指引,指定是否使用記憶體回收。如果您已啟用快取功能, 伺服器會使用記憶體回收程序,刪除不應再快取的檔案。檔案是根據它們的到期日及其他 Proxy 指引值來刪除。 如果已啟用快取,通常會使用記憶體回收。如果不使用記憶體回收,Proxy 快取的使用會無效。
Gc {on | off}
Gc On
使用這個指引,指定伺服器用來記憶體回收的自訂應用程式。
GCAdvisor /path/file:function_name
GCAdvisor /api/bin/customadvise.so:gcadv
使用這個指引來指定必須填滿總快取容量的多少個百分比才能觸發記憶體回收。 這個百分比稱為高臨界值標記。 高臨界值標記是以總快取容量的百分率指定的。 繼續記憶體回收直到到達低臨界值標記--關於設定這個標記的資訊,請參閱GcLowWater -- 指定何時結束記憶體回收。 高臨界值標記的百分比可設定為介於 50 與 95 之間。
GcHighWater percentage
GcHighWater 90
使用這個指引來指定總快取容量達多少百分比才會觸發記憶體回收結束。 這個百分比稱為低臨界值標記。 低臨界值標記, 是以總快取容量的百分率指定的。 它的值必須設定為低於高臨界值標記的值; 關於設定高臨界值標記的資訊,請參閱GcHighWater -- 指定何時開始記憶體回收。
GcLowWater percentage
GcLowWater 60
如果您的 Proxy 伺服器是 Proxy 鏈結的一部分, 請使用這個指引,指定另一個 Proxy 的名稱,讓伺服器針對 Gopher 要求加以連接。 您必須指定完整的 URL,包括尾端的斜線 (/)。如果需要使用選用的網域名稱或範本的資訊,請參閱no_proxy -- 直接連接到網域的範本。
gopher_proxy full_URL[domain_name_or_template]
gopher_proxy http://outer.proxy.server/
無
使用這個指引, 在存取檔案之前,指定伺服器要改成什麼群組名稱或號碼。
如果您變更了這個指引,則必須先手動停止伺服器, 然後再重新啟動,這樣才能使變更生效。如果只是重新啟動伺服器, 變更並不會生效。(請參閱啟動與停止 Caching Proxy。)
GroupId { group_name | group_number}
AIX: GroupId nobody
HP-UX: GroupId other
Linux:
Solaris: GroupId nobody
使用這個指引來指定在 HTTP 標頭中傳回的 Proxy 伺服器名稱
HeaderServerName name
無
使用這個指引,來指定從檔案要求傳回到用戶端的網域名稱或 IP 位址。如果指定的是網域名稱, 則網域名稱伺服器必須能夠將這個名稱解析為 IP 位址。如果指定的是 IP 位址,則不需要或不存取網域名稱伺服器。
Hostname {name | IP address}
依預設,在起始配置檔中沒有指定這個指引。 如果在配置檔中沒有指定這個指引,那麼這個值會預設成網域名稱伺服器中所定義的主機名稱。
如果您的 Proxy 伺服器是 Proxy 鏈結的一部分, 請使用這個指引,指定另一個 Proxy 的名稱,讓伺服器針對 HTTP 要求加以連接。 您必須指定完整的 URL,包括尾端的斜線 (/)。 如果需要使用選用的網域名稱或範本的資訊,請參閱no_proxy -- 直接連接到網域的範本。
http_proxy full_URL[domain_name_or_template]
http://outer.proxy.server/
無
使用這個指引來指定 Caching Proxy 是否要擷取 URL 的不安全首頁並嘗試在該處尋找標籤。 如果找到標籤,就會引用到安全要求上。 比方說,如果您要求 https://www.ibm.com/,Caching Proxy 會擷取 http://www.ibm.com/,在其中搜尋標籤,然後使用找到的任何標籤來過濾 https://www.ibm.com/。
如果 HTTPSCheckRoot 被設成 off,Caching Proxy 就不會擷取不安全首頁並在其中搜尋標籤。
HTTPSCheckRoot {on | off}
HTTPSCheckRoot on
使用這個副指引來指定要用於傳送及接收 ICP 查詢的 IP 位址。它必須含括在 <MODULEBEGIN> ICP 和 <MODULEEND> 指引內。
ICP_Address IP_address
依預設,在起始配置檔中沒有指定這個指引。 如果在配置檔中沒有指定這個指引,那麼這個值會預設成在任何介面上接受及傳送 ICP 查詢。
使用這個副指引來指定接收 ICP 查詢的執行緒數。 必須在 <MODULEBEGIN> ICP 與 <MODULEEND> 指引內含括它。
ICP_MaxThreads number_of_threads
ICP_MaxThreads 5
如果 Proxy 伺服器是 ICP 叢集的一部分,請使用這個副指引來指定 ICP 同伴。 必須在 <MODULEBEGIN> ICP 與 <MODULEEND> 指引內含括它。
當新同伴新增到 ICP 叢集時,必須將 ICP 同伴資訊新增到所有現存同伴的配置檔中。每一個同伴使用一行。 請注意:現行主機也可以加入同伴清單。 當 ICP 起始設定時會忽略現行主機的項目。 這樣會使得單一配置檔有可能被複製到其他同伴機器,但不需編輯它將現行主機予以移除。
ICP_Peer hostname http_port icp_port
下面一行新增主機 abc.xcompany.com 作為同伴,它的 Proxy 埠是 80,ICP 埠是 3128。
ICP_Peer abc.xcompany.com 80 3128
無
使用這個副指引來指定 ICP 伺服器接收 ICP 查詢的埠號。 它必須含括在 <MODULEBEGIN> ICP 和 <MODULEEND> 指引內。
ICP_Port port_number
ICP_Port 3128
使用這個副指引來指定 Caching Proxy 等待回應 ICP 查詢的最長時間。 這個時間是以毫秒為單位指定。 必須在 <MODULEBEGIN> ICP 與 <MODULEEND> 指引內含括它。
ICP_Timeout timeout_in_milliseconds
ICP_Timeout 2000
使用這個指引,指定快取代理程式不會載入的 URL。當快取代理程式要從快取 URL 載入鏈結的網頁時, 就可以善加使用這個指引。您可以重複使用 IgnoreURL, 以指出不同的 URL 或 URL 遮罩。這個指引的值可以用星號 (*) 作為萬用字元,來引用遮罩。
IgnoreURL URL
IgnoreURL http://www.yahoo.com/ IgnoreURL http://*.ibm.com/*
IgnoreURL */cgi-bin/*
您可以使用這個指引,指定您是要針對檔案系統、CGI 程式、還是兩者所提供的檔案, 進行伺服器端併入處理程序。伺服器端併入處理程序是針對內容類型為 text/x-ssi-html 的檔案執行。 您也可以對 text/html 內容類型的檔案執行伺服器端併入處理程序。關於內容類型的進一步資訊,請參閱AddType -- 指定具有特定字尾的檔案的資料類型。
您可以使用伺服器端併入處理程序, 將資訊動態插入到傳回的檔案當中。這類資料包括日期、檔案大小、上次變更檔案的日期、CGI 或伺服器端併入環境變數或文字檔案。只對在區域產生的檔案執行伺服器端併入處理程序。Caching Proxy 不對代理的或快取的物件執行伺服器端併入處理程序。
伺服器端併入處理程序會讓伺服器在每次使用檔案時,搜尋其中的特殊指令。 這樣會影響伺服器效能而且使用戶端的回應時間變慢。
imbeds {on | off | files | cgi | noexec} {SSIOnly | html}
伺服器會檢查所擷取的每個檔案的內容類型, 以及所處理的每個 CGI 程式的輸出。
伺服器端併入處理程序通常只針對內容類型為 text/x-ssi/html 的檔案執行。然而, 您也可以指定要為伺服器端併入處理程序處理 text/html 內容類型的檔案。
每個字尾都必須有一個 AddType 指引,是用正確的內容類型加以定義的。 如果您是使用 .htm 或 .html 以外的字尾, 則必須用內容類型 text/x-ssi/html 來定義 AddType 指引。
imbeds on SSIOnly
您可以使用這個指引,從傾出檔匯入快取記憶體內容。當記憶體快取會在重新啟動期間流失時,或是針對多個 Proxy 部署同一個快取記憶體時,這個指引很有用。
ImportCacheImageFrom import_file_name
無
請使用這個指引來指定,您要 CGI 程式繼承的環境變數(不同於 CGI 處理程序的特定 CGI 環境變數)。
如果您沒有併入 InheritEnv 指引,所有環境變數都會由 CGI 程式加以繼承。 如果併入了任何 InheritEnv 指引, 則只有在 InheritEnv 指引中所指定的環境變數, 才會與 CGI 專用環境變數一起被繼承。本指引讓您可以選擇是否起始設定繼承的變數值。
InheritEnv environment_variable
InheritEnv PATH InheritEnv LANG=ENUS
在本範例中,只有 PATH 和 LANG 環境變數會由 CGI 程式繼承, 而 LANG 環境變數將以 ENUS 值起始設定。
無。依預設, 所有環境變數都是由 CGI 程式繼承。
使用這個指引, 來設定用戶端連接到伺服器之後,傳送要求所允許的時間。 用戶端會先連線到伺服器,然後再傳送要求。如果用戶端在這個指引所設定的時間內未傳送要求, 則伺服器會關閉連線。您可以用小時、分鐘(或 mins)及秒鐘 (secs) 的任何組合指定時間值。
InputTimeout time
InputTimeout 3 mins 30 secs
InputTimeout 2 minutes
這個指引會置換 JunctionRewrite 外掛程式的預設動作,可讓 Proxy 更正 HTML 頁面中的特定 URL 鏈結。 它用來結合 JunctionRewrite 指引。
JunctionReplaceUrlPrefix 指引會導引 JunctionRewrite 外掛程式將 URL 從 url_pattern_1 取代為 url_pattern_2,而不是在 URL 開頭插入字首。
JunctionReplaceUrlPrefix url_pattern_1 url_pattern_2
JunctionReplaceUrlPrefix /server1.internaldomain.com/* /server1/*
在這個範例中,假設 URL 是 /server1.internaldomain.com/notes.nsf,假設字首是 /server1。 JunctionRewrite 外掛程式不會插入字首來將 URL 重新撰寫成 /server1/server1.internaldomain.com/notes.nsf,它會將 URL 改成 /server1/notes.nsf。
無
這個指引會在 Caching Proxy 中啟用接合重新撰寫常式,以便重新撰寫來自來源伺服器的回應,確定伺服器關聯的 URL 在使用接合時,會對映到適當的來源伺服器。 如果您設定了 JunctionRewrite on 但未指定 UseCookie 選項,您必須也啟用接合重新寫入外掛程式。接合是由 Proxy 對映規則所定義。
請參閱使用 UseCookie 做為 JunctionRewrite 的替代方案和擴充 JunctionRewrite 功能的 transmogrifier 外掛程式範例,以取得 JunctionRewrite 的其他資訊。
JunctionRewrite {on | on UseCookie | off}
JunctionRewrite off
這個指引可在 Cookie 名稱相符時,讓 Proxy 重新撰寫 Set-Cookie 標頭中的路徑選項。 如果回應需要接合,且定義了接合字首,就會將字首插在每個路徑前面。 它可用來搭配 JunctionRewrite 外掛程式,也可用來搭配 RewriteSetCookieDomain 指引。
JunctionRewriteSetCookiePath cookie-name1 cookie-name2...
無
這個指引會置換 JunctionRewrite 外掛程式的預設動作,如果 URL 型樣已經符合,就會跳過 URL 重新撰寫。 它利用 JunctionRewrite 外掛程式來提供更正 HTML 頁面中某些 URL 鏈結的方式。這個指引通常用來跳過已包含字首的 URL。
JunctionSkipUrlPrefix url_pattern
JunctionSkipUrlPrefix /server1/*
在這個範例中,假設 URL 是 /server1/notes.nsf,假設接合字首是 /server1/。URL 不需要重新撰寫成 /server1/server1/notes.nsf,JunctionRewrite 外掛程式會跳過重新撰寫 URL,URL 會維持不變,仍是 /server1/notes.nsf。
無
使用這個指引來指定在 Proxy 快取記憶體的記憶體回收期間對到期檔案的處理方式。有效的值有 on 和 off 兩種。 如果這個指引設為 on,那麼在進行記憶體回收時, 過期檔案都可以刪除,同時也是刪除時首要考慮的檔案。 如果快取滿了,就先刪除過期檔案。 如果是 off,那麼即使 Proxy 快取沒有滿, 在進行記憶體回收時,凡是過期檔案都一律刪除。
KeepExpired {on | off}
KeepExpired off
使用這個指引,指定伺服器將對 SSL 要求使用的金鑰環資料庫的檔案路徑。 金鑰環檔案是透過 iKeyman 金鑰管理公用程式產生的。
KeyRing filename
Windows:KeyRing c:\Program Files\IBM\edge\cp\\key.kdb
Linux 和 UNIX: KeyRing /etc/key.kdb
無
使用這個指引,指定金鑰環資料庫密碼檔的檔案路徑。 密碼檔案是在建立金鑰環資料庫檔案時,透過 iKeyman 金鑰管理公用程式所產生的。
KeyRingStash file_path
Windows: KeyRingStash c:\Program Files\IBM\edge\cp\key.sth
Linux 和 UNIX: KeyRingStash /etc/key.sth
無
您可以使用這個指引來控制 PUT 或 POST 要求中的主體大小上限。LimitRequest 指引係用來保護 Proxy 使其不受攻擊。
可將值指定成千位元組 (K)、百萬位元組 (M) 或十億位元組 (G)。
LimitRequestBody max_body_size {K | M | G}
LimitRequestBody 10 M
您可以使用這個指引來指定可以在用戶端要求中傳送的標頭數上限。LimitRequest 指引係用來保護 Proxy 使其不受攻擊。
LimitRequestFields number_headers
LimitRequestFields 32
您可以使用這個指引來指定要求行的長度上限,以及要求中每一個標頭的長度上限。LimitRequest 指引係用來保護 Proxy 使其不受攻擊。
可將值指定成位元組 (B) 或千位元組 (K)。
LimitRequestFieldSize max_hdr_length {B | K}
LimitRequestFieldSize 4096 B
使用這個指引,指定伺服器將連線拒絕的訊息傳送到用戶端之前, 所承載的接收待辦用戶端連線數目。這個數字根據伺服器在幾秒鐘內能夠處理的要求數量而定。 請勿將這個值設定為高於在用戶端逾時以及中斷連線之前伺服器可以處理的數目。
ListenBacklog number_of_requests
ListenBacklog 128
使用這個指引,指定快取代理程式是否應擷取列入影像。如果 LoadInlineImages 設為 on, 則內含在被快取的頁面的影像也會被快取。如果它設成 off,就不會快取內含影像。
LoadInlineImages {on | off}
LoadInlineImages on
使用這個指引指示快取代理程式,存取昨晚的快取存取日誌,並載入最常被要求的 URL。
Caching 指引必須設成 On,而且在已經為 LoadTopCached 指引設定值的情況下, 也必須為 CacheAccessLog 指引設定一個值。
LoadTopCached number_of_pages
LoadTopCached 100
使用這個指引,指定快取代理程式要載入快取中的 URL。 多個 LoadURL 指引可以內含於配置檔,但無法使用萬用字元。
LoadURL url
LoadURL http://www.ibm.com/
無
使用這個指引,指定伺服器執行「記錄」步驟時, 應呼叫的自訂應用程式函數。 這個程式碼提供日誌記載以及在關閉連線之後執行的其他處理程序。
Log request_template /path/file:function_name
Log /index.html /api/bin/icsextpgm.so:log_url
無
使用這個指引來指定保存常式的行為。 這個指引影響含有整體設定的所有日誌。 它指定壓縮或清除日誌或不變更日誌。
如果您指定 Compress,請使用 CompressAge 與 CompressDeleteAge 指引, 指出何時將壓縮或刪除日誌。您可以使用 CompressCommand 指引,指定將使用哪一個指令及其參數。
如果您指定 Purge,請使用 PurgeAge 與 PurgeSize 指引,指定何時將清除日誌。
LogArchive {Compress | Purge | none}
LogArchive Purge
使用這個指引來指定存取日誌檔的檔案格式。
LogFileFormat {common | combined}
依預設,會以 NCSA Common Log Format 顯示日誌。指定 combined 即可改用 NCSA Combined Log Format 顯示日誌。合併格式會新增「正在參照的 URL」、「使用者代理程式」及 Cookie 的欄位(如果它們出現在要求中的話)。
LogFileFormat common
僅限 Windows 系統。 在透過指令行執行 Proxy 時,請使用這個指引輸出至存取日誌。為了使伺服器效能最佳化, 這個指引的預設值是設為 off(停用)。
LogToGUI {on | off}
LogToGUI off
只適用於 Linux 和 UNIX 系統。 使用這個指引來指定伺服器,除了將存取要求及錯誤記錄在存取以及錯誤日誌檔以外, 是否還要將它們記錄在系統日誌。
LogToSyslog {on | off}
系統日誌檔必須出現在您的伺服器上, 您才可以指定將錯誤日誌資訊寫入其中。您可以選擇只記錄存取或錯誤資訊,或者兩者都記錄。
如果只要將錯誤資訊傳送到系統日誌,請在 /etc/syslog.conf 檔中新增下面這一行:
user.err syslog_output_file_for_error_information
如果只要將存取資訊傳送到系統日誌,請在 /etc/syslog.conf 檔中新增下面這一行:
user.info syslog_info_file_for_access_information
如果想同時將錯誤及存取資訊傳送到系統日誌, 請在 /etc/syslog.conf 檔中新增這兩行:
以下列格式指定 syslog_output_file 和 syslog_info_file:
建立系統日誌檔後,可以用下述指令重新將它啟動:
kill -HUP 'cat /etc/syslog.pid'
LogToSyslog Off
使用這個指引,為您要變更成新要求字串的要求, 設定一個範本。伺服器變更要求之後,會將新的要求字串, 與後續指引上的要求範本做比較。
Map request_template new_request [server_IP_address | host_name]
您可以在範本中使用星號 (*) 當作萬用字元。但是緊接在斜線 (/) 後面的鼻音字元 (~),必須確實符合; 不可以用萬用字元代替。
您可以指定 IP 位址(例如,240.146.167.72), 也可以指定主機名稱(例如,hostA.raleigh.ibm.com)。
這個參數是選用性參數。如果沒有這個參數,則伺服器會將指引用在所有的要求上, 不管要求是進入 IP 位址,或是進入 URL 中的主機名稱都一視同仁。
不可對伺服器的 IP 位址指定萬用字元。
Map /stuff/* /good/stuff/*
Map /stuff/* /customerA/good/stuff/* 240.146.167.72 Map /stuff/* /customerB/good/stuff/* 0.83.104.45
Map /stuff/* /customerA/good/stuff/* hostA.bcd.com Map /stuff/* /customerB/good/stuff/* hostB.bcd.com
無
使用這個指引,設定您要同時處於作用狀態的執行緒數上限。 如果到達上限,伺服器會保留新的要求, 直到另一個要求完成,且釋出可用的執行緒為止。通常,機器的功能愈強大,這個指引的值就應該設得愈高。如果機器在處理經常作業(如交換記憶體)方面用掉太多時間,請縮減這個值。
MaxActiveThreads number_of_threads
MaxActiveThreads 100
使用這個指引, 設定由伺服器產生的動態資料緩衝區大小。動態資料是來自 CGI 程式、伺服器端併入及 API 程式的輸出。
可將值指定成千位元組 (B)、千位元組 (K)、百萬位元組 (M) 或十億位元組 (G)。在數目與值(B、K、M、G)之間是否有空格都沒關係。
MaxContentLengthBuffer size
MaxContentLengthBuffer 100 K
您可以使用這個指引來指定每一日誌檔的大小上限。每一個日誌檔都不能超過這個指引所定義的大小。如果日誌檔到達定義的大小上限, 系統會關閉現行日誌檔,並以相同名稱之後附加下一個增量的整數值來建立一個新的日誌檔。
大小上限可以用下列其中一個單位來指定:位元組 (B)、KB (K)、MB (M) 和 GB (G)。
MaxLogFileSize maximum {B | K | M | G}
MaxLogfileSize 128 M
使用這個指引,指定伺服器在持續性的連線上, 應該接收的要求數目上限。 在指定這個數目時,請考慮網頁所用的影像數目。每個影像都需要個別的要求。
MaxPersistRequest number
MaxPersistRequest 5
使用這個指引, 指定存放未執行網頁擷取要求的快取代理程式佇列的最大深度。如果大型系統上具有大量的記憶體, 不妨定義一個大型的佇列來容納網頁擷取要求,而不會用盡所有可用記憶體。
存放要快取 URL 的佇列,是在每個快取代理程式開始執行時決定的。 如果您告訴快取代理程式跟隨超文字鏈結到其他的 URL, 這些其他的 URL 是不會有快取佇列深度的計數。達到 MaxURLs 指引所指定的值之後, 快取代理程式便會停止,即使佇列中還有其他 URL 也一樣。
MaxQueueDepth maximum_depth
MaxQueueDepth 250
使用這個指引, 指定快取代理程式在進行某項執行作業時,擷取 URL 的時間量上限。如果這個值為 0, 表示快取代理程式會執行到完成為止。
MaxRuntime {0 | maximum_time}
MaxRuntime 2 hours 10 minutes
MaxRuntime 2 hours
使用這個指引,為任何來源伺服器設定要維護的開啟 Socket 的最大數目。 唯有當 ServerConnPool 指引被設定為 on 時才能使用這個指引。
MaxSocketPerServer num
MaxSocketPerServer 10
MaxSocketPerServer 5
使用這個指引, 指定快取代理程式在進行某項執行作業時,將擷取的 URL 數量上限。如果這個值為 0, 表示沒有限制。當您使用自動模式的快取代理程式時,LoadURL 和 LoadTopCached 指引的執行優先順序要高於 MaxURLs。
MaxURLs maximum_number
MaxURLs 2000
使用這個指引, 指定使用遠端快取存取的伺服器所共用的陣列成員。
Member name {
subdirective
subdirective
.
.
}
包含下列副指引:
Member bittersweet.chocolate.ibm.com {
RCAAddr 127.0.0.1
RCAPort 6294
CacheSize 25G
Timeout 500 milliseconds
BindSpecific On
ReuseAddr Off
}
無
使用這個指引來指定要在午夜時執行,以保存日誌的應用程式外掛程式。在安裝期間將起始設定這個指引。 如果沒有將這個指引加入配置檔,就不會執行保存。
Midnight /path/file:function_name
這個指引來指定伺服器執行「名稱轉換」步驟時,應呼叫的自訂應用程式函數。 這個程式碼會提供機制,將要求中的虛擬路徑轉換成伺服器上的實體路徑, 把 URL 對映到特定的物件上。
NameTrans request_template /path/file:function_name [Server_IP_address | host_name]
不可對伺服器的 IP 位址指定萬用字元。
NameTrans /index.html /api/bin/icsextpgm.so:trans_url
無
在 Linux 和 UNIX 平台中,請利用這個指引來防止在背景自動執行 Caching Proxy 伺服器程序。 依預設(設成 off),這個指引有下列格式:
NoBG [on | off]
NoBG on
NoBG off
使用這個指引, 指定伺服器不應快取其 URL 與指定範本相符的檔案。 這個指引可以在配置檔中重複使用。為每個範本包含一個個別的指引。URL 範本必須包含通訊協定在內。
如果 CacheOnly 或 NoCaching 指引都沒有設定, 那麼任何一個 URL 都可供快取。
NoCaching URL_pattern
NoCaching http://joke/*
無
使用這個指引, 指定不要記錄由符合指定範本之特定主機或網域所提出的存取要求。 比方說,您可能不想記錄由區域主機提出的存取要求。
這個指引可以在配置檔中重複使用。您可以將數種範本放在同一個指引上(如果用空格加以區分)。範本上可以使用主機名稱或 IP 號碼位址。
NoLog {host_name | IP_address} [...]
NoLog 128.0.* *.edu localhost.*
無
如果要使用指引 http_proxy、ftp_proxy 或 gopher_proxy 來鏈結 Proxy,那麼您可以使用這個指引來指定伺服器直接連接而不必透過 Proxy 的網域。
請指定該值為網域名稱或網域名稱範本的字串。 以逗點 (,) 來隔開字串中的每一個項目。 請勿在字串中使用任何空格。
在本指引上輸入範本的方式,與其他指引不同。 最重要的一點,是不可以使用萬用字元(*)。您可以只併入網域名稱的最後部分,來指定範本。伺服器是直接連接到以符合指定範本的字串為結尾的任何網域。這個指引只適用於 Proxy 鏈結, 而且相當於 SOCKS 配置檔中的直接 @/= 那一行。
no_proxy domain_name_or_template[,...]
no_proxy www.someco.com,.raleigh.ibm.com,.some.host.org:8080
在這個範例中,伺服器對於下列要求,是不會透過 Proxy 來處理的:
無
使用這個指引,指定要攔阻的用戶端 URL 標頭。任何一個由用戶端傳送的 HTTP 標頭都可被攔阻, 包括必要的標頭在內。在攔阻標頭時,一定要特別小心。一般的標頭包括:
這些及其他標頭的詳細資訊,請參閱 HTTP 通訊協定規格。 您可以多次指定這個指引。
NoProxyHeader header
NoProxyHeader Referer:
無
使用這個指引, 指定快取代理程式用來擷取佇列中之網頁的執行緒數目。 請根據內部網路的速度以及與網際網路的連線情況, 來調整執行緒數目。其允許的範圍是 1 到 100。
NumClients number
NumClients 4
這個指引可以指定伺服器執行「物件類型」步驟時, 應呼叫的自訂應用程式函數。這個程式碼會在檔案系統中找出要求的物件,並指定其 MIME 類型。
ObjectType request_template /path/file:function_name
ObjectType /index.html /api/bin/icsextpgm.so:obj_type
無
使用這個指引,來設定伺服器傳送輸出到用戶端的時間上限。 該時間限制適用於對本端檔案的要求,以及伺服器作為 Proxy 運作時的要求。該時間限制不適用於啟動區域 CGI 程式的要求。
如果伺服器在這個指引所指定的時間限制內未傳送完整的回應, 則伺服器會停止連線。您可以用小時、分鐘(或 mins)及秒鐘 (secs) 的任何組合指定時間值。
OutputTimeout time
OutputTimeout 30 minutes
使用這個指引,指定含有 Proxy 自動配置檔的目錄, 這些檔案係使用遠端配置 PAC 檔格式所產生的。
PacFilePath directory_path
對於要接受並以來自伺服器的檔案來回應的要求,使用這個指引來指定其範本。 在要求符合 Pass 指引上的範本之後, 該要求便不會與任何後續指引上的要求範本再做比較。
Pass request_template [file_path [server_IP_address | host_name]]
您可以在範本中使用星號 (*) 當作萬用字元。但是緊接在斜線 (/) 後面的鼻音字元 (~),必須確實符合; 不可以用萬用字元代替。
這個參數是選用性參數。如果沒有指定路徑,就採用要求本身當作路徑。
您可以指定 IP 位址(例如,240.146.167.72), 也可以指定主機名稱(例如,hostA.raleigh.ibm.com)。
這個參數是選用性參數。如果沒有這個參數,則伺服器會將指引用在所有的要求上, 不管要求是進入 IP 位址,或是進入 URL 中的主機名稱都一視同仁。
不可對伺服器的 IP 位址指定萬用字元。
Pass /gooddoc/*
Pass /parts/* /customerA/catalog/* 240.146.167.72 Pass /parts/* /customerB/catalog/* 0.83.100.45
Pass /Admin/* /usr/lpp/internet/server_root/Admin/* Pass /Docs/* /usr/lpp/internet/server_root/Docs/* Pass /errorpages/* /usr/lpp/internet/server_root/pub/errorpages/* Pass /* /usr/lpp/internet/server_root/pub/*
Pass /Admin/* /opt/ibm/edge/cp/server_root/Admin/* Pass /Docs/* /opt/ibm/edge/cp/server_root/Docs/* Pass /errorpages/* /opt/ibm/edge/cp/server_root/pub/errorpages/* Pass /* /opt/ibm/edge/cp/server_root/pub/*
Pass /Admin/* /usr/lpp/internet/server_root/Admin/* Pass /Docs/* /usr/lpp/internet/server_root/Docs/* Pass /errorpages/* /usr/lpp/internet/server_root/pub/errporpages/* Pass /* /usr/lpp/internet/server_root/pub/*
Pass /Admin/* /opt/ibm/edge/cp/server_root/Admin/* Pass /Docs/* /opt/ibm/edge/cp/server_root/Docs/* Pass /errorpages/* /opt/ibm/edge/cp/server_root/pub/errorpages/* Pass /* /opt/ibm/edge/cp/server_root/pub/*
Pass /icons/* C:\Program Files\IBM\edge\cp\icons\* Pass /Admin/* C:\Program Files\IBM\edge\cp\Admin\* Pass /Docs/* C:\Program Files\IBM\edge\cp\Docs\* Pass /erropages/* C:\Program Files\IBM\edge\cp\pub\errorpages\* Pass /* C:\Program Files\IBM\edge\cp\pub\*
請使用這個指引,來指定用戶端提出要求之間,伺服器應該等待的時間長度, 超過這個時間後,伺服器即取消持續性連線。 時間可以是任何有效的時間增量,但通常是以秒鐘或分鐘為單位。
伺服器會使用另一種逾時指引(即 InputTimeout)決定在用戶端建立連線之後, 要等待多久才傳送第一個要求。輸入逾時的進一步資訊,請參閱InputTimeout -- 指定輸入逾時。
在伺服器傳送其第一個回應之後,該伺服器會在取消持續性連線之前, 使用 PersistTimeout 設定值來決定等待每個後續要求的時間。
PersistTimeout time
PersistTimeout 4 seconds
使用這個指引來指定要擷取特定 URL 的 PICS 標籤時, 伺服器應呼叫的自訂應用程式函數。 函數可以動態建立要求檔案的 PICS 標籤, 或在另一檔案或資料庫中搜尋 PICS 標籤。
PICSDBLookup /path/file:function_name
PICSDBLookup /api/bin/icsext05.so:get_pics
無
只適用於 Linux 和 UNIX。 使用這個指引來指定含有 Caching Proxy 的程序 ID 的檔案位置。當伺服器程序啟動時,它將把它的程序 ID (PID) 記錄在檔案中。 如果在單一系統上執行多個伺服器實例,則每一實例均應具有它自己的 PidFile 指引。
PidFile path_to_pid_file_info
PidFile /usr/pidinfo
已將以下所列出的指引新增到 Caching Proxy ibmproxy.conf 檔來啟用新特性和外掛程式。無法使用「配置與管理」表單編輯大部分的這些指引。必須使用標準文字編輯程式(例如 vi 或 emacs)手動編輯它們。本章按字母順序提供關於這些新指引的進一步資訊。
在 ibmproxy.conf 檔,必須使用下列格式輸入用來配置 Caching Proxy 外掛程式模組的指引:
<MODULEBEGIN> plugin name subdirective1 subdirective2 <MODULEEND>
每一個外掛程式都會剖析 ibmproxy.conf 檔,且只讀取它自己的副指引區塊。Caching Proxy 剖析器不處理介於 <MODULEBEGIN> 與 <MODULEEND> 之間的所有內容。
Caching Proxy 外掛程式模組和部分新特性需要將 API 指引新增到 ibmproxy.conf 檔。 因為 Proxy 伺服器是按照列示外掛程式模組的順序來與這些模組互動, 所以在排序 Proxy 配置檔內的指引時要小心。已將原型指引(以備註形式)新增到 ibmproxy.conf 檔的 API 區段。這些 API 指引是按照目的排序。 當新增 API 指引來啟用新特性及外掛程式模組時,依照配置檔原型段落中顯示的順序來排序指引。 另外,必要時取消備註與編輯 API 指引,以包含每一個預期功能或外掛程式的支援。在那些隨產品提供的模組後面會新增使用者產生的外掛程式模組。
使用這個指引,指定伺服器用來接收要求的埠號。HTTP 的標準埠號碼為 80。 其他小於 1024 的埠號,則是保留給其他的 TCP/IP 應用程式使用, 您不可以使用。Proxy Web 伺服器所用的埠一般是 8080 與 8008。
如果使用的不是 80 的埠時, 那麼當用戶端對伺服器提出要求時, 必須併入一個特定的埠號。埠號之前要加上一個冒號 (:),並放置在 URL 上主機名稱之後。 例如,瀏覽器的 URL http://www.turfco.com:8008/ 要求一個名為 www.turfco.com 的主機(在埠 8008 上接收)之預設歡迎頁面。
啟動伺服器之後,您可以在 ibmproxy 指令上使用 -p 選項來置換這個設定。
Port number
如果您變更了這個指引,則必須先手動停止伺服器, 然後再重新啟動,這樣才能使變更生效。如果只是重新啟動伺服器的話, 伺服器將不會辨識變更。 (請參閱啟動與停止 Caching Proxy。)
Port 80
使用這個指引來指定在進行 PostAuth 步驟的期間, 伺服器所呼叫的自訂之應用程式函數。不管從先前的步驟或其他 PostAuth 處理常式傳回何種回覆碼,都會執行本程式碼。它可讓您清除配置來處理要求的資源。
PostAuth /path/file:function_name
AuthExit /ics/api/bin/icsext05.so:post_exit
無
這個指引可以指定伺服器執行 PostExit 步驟時, 應呼叫的自訂應用程式函數。不管從先前的步驟或其他 PostExit 處理常式傳回什麼回覆碼,都會執行本程式碼。它可讓您清除配置來處理要求的資源。
PostExit /path/file:function_name
PostExit /ics/api/bin/icsext05.so:post_exit
無
這個指引可以指定伺服器執行 PreExit 步驟時, 應呼叫的自訂應用程式函數。這個程式碼會在用戶端要求被讀取之後、以及進行其他程序之前執行。您可以在進行這個步驟時,呼叫 GoServe 模組。
PreExit /path/file:function_name
PreExit /ics/api/bin/icsext05.so:pre_exit
無
使用這個指引來啟動保護設定規則,供符合範本的要求使用。
保護設定是以保護副指引來定義的。Protect 指引的格式是根據您要指向含有保護副指引的標籤或檔案, 還是您要併入保護副指引作為 Protect 指引列入的一部分而定。
這個參數可使用下列格式:
Protect request_template [setup_file | label[
[FOR Server_IP_address | host_name]
Protect request_template [FOR Server_IP_address | hhost_name] subdirective value subdirective value . . . }
使用下列參數:
這個參數是選用性參數。如果省略該參數, 則保護設定是由包含相符範本的最新 DefProt 指引來定義。
範例:
Protect http://x.x.x.x PROT-ADMIN
在 Web 瀏覽器內:
範例:
Protect http://hostname.example.com PROT-ADMIN
在 Web 瀏覽器內:
您可指定 IP 位址(例如,FOR 240.146.167.72)或者指定主機名稱(例如,FOR hostA.bcd.com)。
萬用字元不可以用來指定伺服器 IP 位址。
這個參數是選用性參數。如果沒有這個參數,則伺服器會將指引用在所有的要求上, 不管要求是進入 IP 位址,或是進入 URL 中的主機名稱都一視同仁。
這些範例所用的是 IP 位址。如果伺服器接收以 /secret/ 或 /topsecret/ 開頭的要求, 它會根據這項要求進入的網路連線 IP 位址,為要求啟動不同的保護設定。
Protection BUS-PROT {
UserID busybody
GroupID webgroup
AuthType Basic
ServerID restricted
PasswdFile /docs/WWW/restrict.pwd
GroupFile /docs/WWW/restrict.grp
GetMask authors
PutMask authors
}
DefProt /secret/* /server/protect/setup1.acc
Protect /secret/scoop/*
Protect /secret/business/* BUS-PROT
Protect /topsecret/* {
AuthType Basic
ServerID restricted
PasswdFile /docs/WWW/restrict.pwd
GroupFile /docs/WWW/restrict.grp
GetMask topbrass
PutMask topbrass
}
Pass /secret/scoop/* /WWW/restricted/*
Pass /secret/business/* /WWW/confidential/*
Pass /topsecret/* /WWW/topsecret/*
Protect /secret/* CustomerA-PROT FOR 0.67.106.79
Protect /secret/* CustomerB-PROT FOR 0.83.100.45
Protect /topsecret/* 0.67.106.79 {
AuthType Basic
ServerID restricted
PasswdFile /docs/WWW/customer-A.pwd
GroupFile /docs/WWW/customer-A.grp
GetMask A-brass
PutMask A-brass
}
Protect /topsecret/* 0.83.100.45 {
AuthType Basic
ServerID restricted
PasswdFile /docs/WWW/customer-B.pwd
GroupFile /docs/WWW/customer-B.grp
GetMask B-brass
PutMask B-brass
}Protect http://host1/* proxy-prot
Protect /secret/* CustomerA-PROT FOR hostA.bcd.com
Protect /secret/* CustomerB-PROT FOR hostB.bcd.com
Protect /topsecret/* hostA.bcd.com {
AuthType Basic
ServerID restricted
PasswdFile /docs/WWW/customer-A.pwd
GroupFile /docs/WWW/customer-A.grp
GetMask A-brass
PutMask A-brass
}
Protect /topsecret/* hostB.bcd.com {
AuthType Basic
ServerID restricted
PasswdFile /docs/WWW/customer-B.pwd
GroupFile /docs/WWW/customer-B.grp
GetMask B-brass
PutMask B-brass
}依預設,「管理與配置」表單的保護是由含有 /admin-bin/* 要求範本的 Protect 指引所提供。
使用這個指引,在配置檔內定義保護設定。 您必須提供一個名稱給保護設定,並利用保護副指引來定義保護的類型。
Protection label_name {
subdirective value
subdirective value
.
.
.
}
保護副指引的說明,請參閱保護副指引 -- 指定資源組的保護方式。
Protection NAME-ME {
AuthType Basic
ServerID restricted
PasswdFile /WWW/password.pwd
GroupFile /WWW/group.grp
GetMask groupname
PutMask groupname
}
Protect /admin-bin/* {
ServerId Private_Authorization
AuthType Basic
GetMask All@(*)
PutMask All@(*)
PostMask All@(*)
Mask All@(*)
PasswdFile /opt/ibm/edge/cp/server_root/protect/webadmin.passwd
}
下面將說明保護設定中,可以使用的保護副指引。副指引是以英文字母順序排列。
保護設定可以在個別的檔案中或併入配置檔內, 作為 DefProt、Protect 或 Protection 指引的一部分。
根據使用者名稱及密碼限制存取時,使用這個 Protection 副指引。 設定鑑別的類型, 以便在用戶端傳送密碼給伺服器時可以使用。如果是基本鑑別 (AuthType Basic), 則密碼是以純文字的格式傳送至伺服器。 這些密碼會加以編碼,但不會加密。
AuthType Basic
使用這個 Protection 副指引,指定使用者名稱、群組及位址範本(有權對受保護的目錄提出 DELETE 要求)。
DeleteMask authors,(niceguy,goodie)@45.96.3.1,128.0.*.*
使用這個 Protection 副指引,指定使用者名稱、群組及位址範本(有權對受保護的目錄提出 GET 要求)。
GetMask authors,(niceguy,goodie)@45.96.3.1,128.0.*.*
GetMask All@(*)
使用這個 Protection 副指引,指定這個保護設定使用的伺服器群組檔案的路徑及檔案名稱。 然後,伺服器群組檔案內所定義的群組可供下列項目使用:
GroupFile /docs/etc/WWW/restrict.group
使用這個副指引, 指定使用者名稱、群組及位址範本(有權發出其他 mask 副指引未涵蓋之 HTTP 要求)。
Mask authors,(niceguy,goodie)@45.96.3.1,128.0.*.*
MASK WEBADM,webadm
根據使用者名稱及密碼限制存取時,使用這個 Protection 副指引。 請指定這個保護設定所使用的密碼檔案的路徑與名稱。
因為有些瀏覽器會依主機內的安全網域 (ServerID) 來快取使用者 ID 和密碼,因此,在指定 ServerID 和密碼檔案時,請遵循下列指示:
PasswdFile /docs/etc/WWW/restrict.password
PasswdFile "c:\test this\admin.pwd"
就安全伺服器而言,使用這個 Protection 副指引來指定使用者、群組及位址範本(有權對受保護的目錄提出 POST 要求)。
PostMask authors,(niceguy,goodie)@45.96.3.1,128.0.*.*
使用這個 Protection 副指引來指定使用者、群組及位址範本(有權對受保護的目錄提出 PUT 要求)。
PutMask authors,(niceguy,goodie)@45.96.3.1,128.0.*.*
根據使用者名稱及密碼限制存取時,使用這個 Protection 副指引。 指定您希望與所用的密碼檔案相關的名稱。這個名稱不必是真正的機器名稱。
該名稱是作為要求者的識別碼使用。因為不同的保護設定可以使用不同的密碼檔案, 所以將名稱與保護設定相關聯,可幫助用戶端決定要傳送哪一個密碼。大多數用戶端在提示使用者輸入名稱與密碼時,會顯示這個名稱。
因為有些瀏覽器會依主機內的安全網域 (ServerID) 來快取使用者 ID 和密碼,因此,在指定 ServerID 和密碼檔案時,請遵循下列指示:
ServerID restricted
請利用這個指引來指出 Caching Proxy 將處理哪些通訊協定,以及將要求對映至伺服器。 有效的通訊協定有 http、ftp 和 gopher。
如果用戶端發出的要求轉遞至相同伺服器,且是來自相同的用戶端 TCP 通道,Proxy 指引的 UseSession 參數選項可協助您維護伺服器端的持續性通道。UseSession 會置換 ServerConnPool 指引,可讓不同用戶端發出的要求共用後端伺服器的持續性連線。
Proxy 指引的 JunctionPrefix 參數選項用來結合接合重新撰寫外掛程式。如果需要詳細資訊,請參閱啟用接合重新撰寫(選用)和定義含 JunctionPrefix 選項的接合(建議的方法)。
Proxy request_template target_server_path [[ip]:port] [UseSession] [JunctionPrefix:url_prefix]
這個指引會將要求傳給遠端伺服器。 例如,下列的指引將使得所有要求轉送到指定的 URL:
Proxy /* http://proxy.server.name/*
就安全反向 Proxy 伺服器而言,請使用下列指引:
Proxy /* https://proxy.server.name/*
如果您要 Proxy 伺服器比較不受限制,請解除註銷配置檔中的下列指引。(不過,當 Proxy 配置成反轉 Proxy 時, 這些指引可能會產生安全問題。)
Proxy http:* Proxy ftp:* Proxy gopher:*
以下是 Proxy 指引的 UseSession 選項範例:
Proxy /abc/* http://server1/default/abc/* :80 UseSession
當送入的用戶端要求是來自 80 埠時,如果用戶端要求的 URL 符合 /abc/* 型樣,就會將這個 URL 對映至 http://server1/default/abc/* 。
以下是 Proxy 指引的 JunctionPrefix 選項格式:
Proxy url_patern1 url_pattern2 JunctionPrefix:url_prefix
如果需要如何使用 JunctionPrefix 參數選項的詳細資訊,請參閱啟用接合重新撰寫(選用)和定義含 JunctionPrefix 選項的接合(建議的方法)。
無。
使用這個指引,指定伺服器記錄 Proxy 要求的存取統計值所用的路徑與檔名。 依預設,每次伺服器因用戶端要求而充當 Proxy 時, 伺服器會寫入項目至這個日誌中。如果您不想記錄來自特定用戶端的要求,則可以使用 NoLog 指引。
如果伺服器正在執行,那麼它會在每日午夜啟動新的日誌檔。 否則,伺服器會在任意日的第一次啟動時, 啟動一個新的日誌檔。在建立該檔時,伺服器會使用您所指定的檔名, 並附加日期字尾或副檔名。日期字尾或副檔名的格式為 Mmmddyyyy, 其中 Mmm 是指月份的前三個字母; dd 是指月份之內的日期;而 yyyy 是指年份。
舊的日誌檔太佔硬碟空間了,最好將它們移除。
ProxyAccessLog path/file
使用這個指引,指定伺服器執行 Proxy Advisor 步驟時, 應呼叫的自訂應用程式。這個程式碼會替要求提供服務。
ProxyAdvisor /path/file:function_name
ProxyAdvisor /api/bin/customadvise.so:proxyadv
無
使用 ProxyForwardLabels 指引, 在 Proxy 伺服器及用戶端,或者在 Proxy 階層的兩個 Proxy 上, 指定 PICS 過濾功能。
如果將 ProxyForwardLabels 設定為 on,Proxy 伺服器就會為所有找到的 PICS 標籤(包括來自來源伺服器、標籤櫃、Caching Proxy 的標籤快取及標籤供應商外掛程式的標籤)產生 PICS-Label: HTTP 標頭。
如果將 ProxyForwardLabels 設定為 Off, 就不會產生 PICS-Label: HTTP 標頭。
ProxyForwardLabels {On | Off}
ProxyForwardLabels Off
使用這個指引產生 From: 標頭。 通常這個標頭是用來提供 Proxy 管理者的電子郵件位址。
ProxyFrom e-mail_address
設定 ProxyFrom webmaster@proxy.ibm.com 會在標頭方面產生下述變更:
| 原始標頭 | 修改後的標頭 |
|---|---|
| Location: http://www.ibm.com/ | Location: http://www.ibm.com/ |
| Last Modified: Tue 5 Nov 1997 10:05:39 GMT | Last Modified: Tue 5 Nov 1997 10:05:39 GMT |
| Pragma: no-cache | From: webmaster@proxy.ibm.com |
| Pragma: no-cache |
無
使用這個指引來指定當使用者按一下瀏覽器上的重新載入時,伺服器如何反應。 如果 ProxyIgnoreNoCache 指引設為 on, 則伺服器在高載入的時段,不會向目的地伺服器要求該網頁, 而是提供快取的檔案複本(如果有的話)。伺服器根本不理會瀏覽器所傳送的 Pragma: no-cache 標頭。
ProxyIgnoreNoCache {on | off}
ProxyIgnoreNoCache off
使用這個指引來指定是否要維護用戶端的持續性連線。持續性連線可以縮減使用者的等待時間, 並縮減 Proxy 伺服器的 CPU 負荷,但卻需要更多資源。不過這樣一來,持續性連線也必須用到較多的執行緒, 以及 Proxy 伺服器上更多的記憶體。
如果有任何 Proxy 與 HTTP 1.1 不相容,就不可以在多層次 Proxy 伺服器設定中使用持續性連線。
ProxyPersistence {on | off}
ProxyPersistence on
使用這個指引, 指定 Proxy 是否將用戶端的 IP 位址轉送給目的地伺服器。
ProxySendClientAddress {Client_IP: | OFF}
指引 ProxySendClientAddress Client-IP: 會在標頭方面產生下述變更:
| 原始標頭 | 修改後的標頭 |
|---|---|
| Location: http://www.ibm.com/ | Location: http://www.ibm.com |
| Last Modified: Tue 5 Nov 1997 10:05:39 GMT | Last Modified: Tue 5 Nov 1997 10:05:39 GMT |
| Pragma: no-cache | Client-IP: 0.67.199.5 |
| Pragma: no-cache |
無
使用這個指引來指定 User Agent 字串,來取代用戶端傳送的字串。 這樣一來就更能夠使用匿名來造訪網站。不過, 有些網站有根據 User Agent 字串所自訂的網頁。 使用 ProxyUserAgent 指引可防止這些自訂頁面顯示出來。
ProxyUserAgent product_name/version
指引 ProxyUserAgent Caching Proxy/6.0 會在標頭方面產生下述變更:
| 原始標頭 | 修改後的標頭 |
|---|---|
| Location: http://www.ibm.com/ | Location: http://www.ibm.com |
| Last Modified: Tue 5 Nov 1997 10:05:39 GMT | Last Modified: Tue 5 Nov 1997 10:05:39 GMT |
| User Agent: Mozilla/ 2.02 OS2 | User Agent: Caching Proxy/6.0 |
| Pragma: no-cache | Pragma: no-cache |
無
使用這個指引控制 HTTP 標頭的格式。這個指引有四個值。如果將 ProxyVia 設定為 Full,Caching Proxy 會將 Via 標頭新增到要求或回應中;如果串流中已經有 Via 標頭,Caching Proxy 會在尾端新增主機資訊。 如果設定為 Set,Caching Proxy 會將 Via 標頭設定為主機資訊; 如果串流中已經有 Via 標頭,Caching Proxy 會移除它。如果設定為 Pass,Caching Proxy 會原封不動地轉送任何標頭資訊。如果設定為 Block, Caching Proxy 不會轉送任何 Via 標頭。
ProxyVia {Full | Set | Pass | Block}
ProxyVia Pass
ProxyVia Full
ProxyWAS 對映指引的功能與 Proxy 指引相同,但它另外會指示 Caching Proxy,符合規則的要求已導向 WebSphere Application Server。 如果需要這個指引的使用範例,請參閱Proxy -- 指定 Proxy 通訊協定或反向 Proxy。
ProxyWAS request_template target_server_path [UseSession]
[JunctionPrefix:url_prefix]
無
使用這個指引, 指定伺服器是要充當 Proxy 伺服器,還是充當 Proxy 及內容伺服器使用。建議使用 Caching Proxy 只作為 Proxy。
PureProxy {on | off}
PureProxy on
使用這個指引以日數為單位,指定在清除日誌之前的經歷時間。 如果 PurgeAge 設為 0,則日誌永遠都不會刪除。
PurgeAge number
PurgeAge 7
使用這個指引來指定清除日誌檔之前,日誌檔可以擴充的空間(以百萬位元組 (MB) 為單位)。 如果 PurgeSize 指引設成 0,就沒有大小限制而且不會刪除檔案。
PurgeSize 的設定參照某日誌類型的所有日誌。 比方說,如果您正在記錄一些錯誤(即在配置檔中已經產生一個 ErrorLog 項目), 而且 PurgeSize 被定義為 10 MB,Caching Proxy 會計算全部錯誤日誌的大小並將它們加總起來, 然後開始刪除日誌直到總大小小於 10 MB 為止。
PurgeSize number_of_MB
PurgeSize 0
使用這個指引,指定「遠端快取存取」配置檔的名稱及位置。
RCAConfigFile /etc/file_name
RCAConfigFile /etc/user2rca.conf
RCAConfigFile /etc/rca.conf
使用這個指引,指定 RCA 埠上所使用的執行緒數目。
RCAThreads number_of_threads
RCAThreads 50
MaxActiveThreads x [(ArraySize -1) / (2 x ArraySize -1)]
使用這個指引,指定在取消連線之前,沒有網路活動所容許的時間限制。
ReadTimeout time
ReadTimeout 5 minutes
對於您要接受且傳送至另一部伺服器的要求,您可以使用這個指引來指定一個範本。要求符合 Redirect 指引上的範本時,該要求不會與您配置檔中其他指引上的範本做比較。
Redirect request_template URL [server_IP_address | host_name]
您可以在範本中使用星號 (*) 當作萬用字元。但是緊接在斜線 (/) 後面的鼻音字元 (~),必須確實符合; 不可以用萬用字元代替。
URL必須含有通訊協定規格, 以及傳送要求所到達的伺服器名稱。也可以包含路徑或檔名。 如果 request_template 使用萬用字元, 則 URL 上的路徑或檔名也可以使用萬用字元。 原始要求中與 request_template 中萬用字元相符的部分, 會被插入取代 URL 中的萬用字元。
您可以指定 IP 位址(例如,240.146.167.72)或指定主機名稱(例如,hostA.bcd.com)。
這個參數是選用性參數。如果沒有這個參數,則伺服器會將指引用在所有的要求上, 不管要求是進入 IP 位址,或是進入 URL 中的主機名稱都一視同仁。
不可對伺服器的 IP 位址指定萬用字元。
Redirect /chief/stuff/* http://www.other.org/wahoo/*
Redirect /stuff/* http://www.chief.org/wahoo/* 240.146.167.72 Redirect /stuff/* http://www.dawg.com/pound/* 0.83.100.45
Redirect /stuff/* http://www.chief.org/wahoo/* hostA.bcd.com Redirect /stuff/* http://www.dawg.com/pound/* hostB.bcd.com
無
ReversePass 對映指引可檢查伺服器回應串流,以偵測那些以自動重新導向的結果來重新撰寫的要求。 一般來說,當伺服器傳回屬於 3xx 類別(例如,301,永久移動,或 303,請參閱其他)的 HTTP 字碼時,伺服器會傳送含有回應的訊息,該回應會指示要求的用戶端將未來的要求導向至正確的 URL 和 IP 位址。在反向 Proxy 設定的案例中,來自來源伺服器的重新導向訊息可以使用戶端瀏覽器在後續要求中略過 Proxy 伺服器。 如果要避免用戶端直接聯繫來源伺服器,請使用 ReversePass 指引來截取特別針對來源伺服器提出的要求。
不像其他處理要求串流的對映指引一般,ReversePass 會比較其範本與回應串流。回應串流是 Proxy 伺服器從來源伺服器取得並傳送至用戶端的回應。
ReversePass rewritten_URL proxy_URL [host:port]
host:port 選項可讓 Proxy 根據後端伺服器主機名稱和埠來套用不同的 ReversePass 規則。
ReversePass http://backend.company.com:9080/* http://edge.company.com/*埠 9080 是 Application Service at the Edge 的預設埠。 如果原始應用程式伺服器將 3xx 字碼傳回用戶端,就可能會產生這類型的要求。
ReversePass http://edge.company.com:9080/* http://edge.company.com/*
無
請利用這個指引來指定需要重新撰寫的網域型樣。 這個指引會將網域從 domain_pattern1 轉換成 domain_pattern2。
RewriteSetCookieDomain domain_pattern1 domain_pattern2
RewriteSetCookieDomain .internal.com .external.com
無
這個指引啟用或停用 RTSP 重新導向。選項有 on 或 off。
RTSPEnable {on | off}
RTSPEnable on
無
這個指引用於指定 RTSP Proxy 伺服器接收重新導向的要求。 可針對不同的串流類型來指定不同的伺服器。 本指引的格式如下:
rtsp_proxy_server server dns address[:port] default rank [list of mime types]
rtsp_proxy_server rproxy.mycompany.com:554 1 rtsp_proxy_server fw1.mycompany.com:554 2 rtsp_proxy_server fw1.mycompany.com:555 3 rtsp_proxy_server fw2.mycompany.com:557 4
無
這個指引指定 RTSP 要求被重新導向至 Proxy 伺服器(而非來源伺服器)之前要接收的要求數目。RealNetworks Proxy 快取第一個要求的串流,一開始快取時需要加倍接收串流的頻寬。 指定大於 1 的臨界值,防止僅執行一次的要求被快取。 本指引的格式如下:
rtsp_proxy_threshold number_of_hits
rtsp_proxy_threshold 5
無
這個指引指定保存於記憶體中供重新導向的唯一 URL 數目。Proxy 參照這份清單來判斷給定的 URL 是否曾在之前出現過。 清單大小越大,便可增進 Proxy 伺服器的能力,以將後續要求傳送給接收前一個要求的相同 Proxy 伺服器,但每一個清單項目大約會用掉 16 個位元組的記憶體。
rtsp_url_list_size size_of_list
rtsp_url_list_size 8192
無
使用這個指引,設定伺服器所啟動的 CGI 程式,要花多少時間完成。時間一到,伺服器就會結束該程式。在 Linux 和 UNIX 平台中,這是利用 KILL 信號來完成的。
請使用小時、分鐘(或 mins)及秒鐘(或 secs)的組合,來輸入時間值。
ScriptTimeout timeout
ScriptTimeout 5 minutes
使用這個指引來指定從 Caching Proxy 傳給下游伺服器的要求會使用 HTTP 1.0 版通訊協定。 (下游伺服器是 Proxy 鏈結中的另一個 Proxy 伺服器, 或是會處理要求的來源伺服器。)
如果使用這個指引,Caching Proxy 就會把 HTTP 1.0 當成要求行中的通訊協定。只有 HTTP 1.0 特定的功能, 及大部分 HTTP 1.1 伺服器支援的某些 HTTP 1.0 功能(如快取控制標頭), 會被送到下游伺服器。如果有一個下游伺服器未正確處理 HTTP 1.1 要求, 請使用這個指引。
如果未指定 SendHTTP10Outbound 指引,Caching Proxy 就會把 HTTP 1.1 當成要求行中的通訊協定。HTTP 1.1 功能(例如,持續性連線)也可以在要求中使用。
SendHTTP10Outbound url_pattern
這個指引可以多次指定,例如:
SendHTTP10Outbound http://www.hosta.com/* SendHTTP10Outbound http://www.hostb.com/*
為提供舊版相容性,先前語法 SendHTTP10Outbound 以下列的方式處理:
無
作為反向 Proxy 時,Caching Proxy 接收來自用戶端的 HTTP 要求並將要求傳給來源伺服器。依預設,Caching Proxy 在它傳給來源伺服器的要求的 HOST 標頭中會寫入來源伺服器的主機名稱。如果 SendRevProxyName 指引設成 yes,Caching Proxy 會在 HOST 標頭寫入自己的主機名稱。可以使用這個指引啟用後端伺服器的特殊配置,因為它可讓來源伺服器的要求看起來永遠來自 Proxy 伺服器,即使在從一個後端伺服器重新導向要求到另一個伺服器的狀況下也是一樣。
這個指引與 ReversePass 對映指引有下列差異: ReversePass 指引會截取含有指定語法的要求並替代成您指定的不同要求內容。 只能設定 SendRevProxyName 指引以 Caching Proxy 主機名稱替代來源伺服器主機名稱。這個指引在配置 Application Service at the Edge 方面不太有用。
SendRevProxyName {yes | no}
這個指引設定記憶體回收執行緒檢查逾時的伺服器連線的間隔(搭配 ServerConnTimeout 指引一起設定)。 唯有當 ServerConnPool 指引被設定為 on 時才能使用這個指引。
ServerConnGCRun time_interval
ServerConnGCRun 2 minutes
ServerConnGCRun 2 minutes
這個指引可讓 Proxy 儲存它與來源伺服器的送出連線。 將這個指引設定為 on 能增強效能,並且更能利用允許持續性連線的來源伺服器。 經由 ServerConnTimeout 指引,您也可以指定維持未用的連線之時間。
ServerConnPool {on | off}
ServerConnPool off
使用這個指引限制在取消連線之前,沒有網路活動情況下允許的時間。 唯有當 ServerConnPool 指引被設定為 on 時才能使用這個指引。
ServerConnTimeout time-spec
ServerConnTimeout 30 seconds
ServerConnTimeout 10 seconds
這個指引可以指定伺服器在起始設定常式期間, 應呼叫的自訂應用程式函數。在讀取任何用戶端要求之前,以及每次重新啟動伺服器之後,都會執行本程式碼。
如果您在 PreExit 或 Service 步驟中使用 GoServe 模組, 則須在這裡呼叫 gosclone 模組。
ServerInit /path/file:function_name [initialization_string]
ServerInit /ics/api/bin/icsext05.so:svr_init
無
使用這個指引來指定安裝伺服器程式的目錄(伺服器的現行工作目錄)。記錄指引時, 使用現行工作目錄,作為使用相對路徑名稱時的預設根目錄。
在 Windows 系統上,在安裝期間指出這個目錄。
ServerRoot directory_path
這個指引可以指定伺服器執行「伺服器終止」步驟時, 應呼叫的自訂應用程式函數。在正常關機以及重新啟動伺服器之後,都會執行本程式碼。它可以讓您釋出由 PreExit 應用程式函數配置的資源。
ServerTerm /path/file:function_name
ServerTerm /ics/api/bin/icsext05.so:shut_down
無
這個指引可以指定伺服器執行「服務」步驟時, 應呼叫的自訂應用程式函數。這個程式碼會替用戶端要求提供服務。例如,它將傳送檔案或執行 CGI 程式。
這個指引沒有預設值。 如果要求符合 Service 規則(即已執行在 Service 指引上指定的應用程式函數), 但函數卻傳回 HTTP_NOACTION,伺服器將產生錯誤,且要求就會失敗。
Service request_template/path/file:function_name [server_IP_address | host_name]
不可對伺服器的 IP 位址指定萬用字元。
Service /index.html /ics/api/bin/icsext05.so:serve_req Service /cgi-bin/hexcalc* /ics/api/calculator:HEXcalc*
無
使用這個指引來指定 URL 要求的終止碼。 在要求中使用終止碼會使 Caching Proxy 在處理要求時以及評估是否已快取結果時,只評估終止碼前面的字元。 當已定義一個以上的終結字元碼時, Caching Proxy 會按照 ibmproxy.conf 檔中所定義的終結字元碼順序來比較進入的 URL 與終結字元碼。
SignificantURLTerminator terminating_string
SignificantURLTerminator &.
在這個範例中,後面兩個要求被視為相同要求。
http://www.exampleURL.com/tx.asp?id=0200&.;x=004;y=001 http://www.exampleURL.com/tx.asp?id=0200&.;x=127;y=034
無
使用這個指引來設定 Caching Proxy for Windows 中,內部 sendmail 常式所使用的 SMTP 伺服器。下列兩項指引也必須對這個常式設定:WebMasterEMail -- 設定電子郵件位址來接收選取伺服器報告和WebMasterSocksServer(僅限 Windows)-- 設定 sendmail 常式的 Socks 伺服器。
SMTPServer IP 位址或 SMTP 伺服器的主機名稱
SMTPServer mybox.com
無
使用本指引來啟用或停用 SNMP 支援。
SNMP {on | off}
SNMP off
使用這個指引,定義 Web 伺服器「分散式通訊協定介面」(DPI) 子代理程式及 SNMP 代理程式之間的密碼。SNMP 團體名稱可授權讓使用者檢視由 SNMP 針對指定伺服器團體而監視的效能變數。 系統管理者會定義在輸入密碼以後, 可以檢視哪個伺服器的哪個變數。如果您要變更 SNMP 團體名稱, 請務必也變更 /etc/snmpd.conf 檔中所指定的團體名稱。
SNMPCommunity name
SNMPCommunity public
使用這個指引,在使用反向 Proxy 時快取安全要求上的內容。 這個指引為 Proxy 伺服器的全部連線配置快取,包括用戶端連線及後端內容伺服器連線。
SSLCaching {on | off}
SSLCaching off
使用這個指引來指定金鑰標籤, 當 Caching Proxy 作為多個網域(它們提供自己的 SSL 憑證)的單一反向 Proxy 時, 這些金鑰標籤可讓 Proxy 決定哪一個憑證要傳給用戶端, 以及指示 Proxy 伺服器要不要擷取用戶端鑑別的用戶端 PKI 憑證。
SSLCertificate serverIP/hostname CertificateLabel [NoClientAuth | ClientAuthRequired]
SSLCertificate www.abc.com ABCCert SSLCertificate 204.146.167.72 intABCCert SSLCertificate www.xyz.com XYZCert SSLCertificate www.xyz.com XYZCert ClientAuthRequired
無
使用這個指引來通知 Proxy 伺服器已安裝一個密碼卡,並指定這個密碼卡。
SSLCryptoCard {rainbowcs | nciphernfast} {on | off}
SSLCryptoCard rainbowcs on
無
使用這個指引來指定 Caching Proxy 在埠 443 上接收安全要求。
SSLEnable {on | off}
SSLEnable off
使用這個指引來指定因應 HTTP 要求的埠,Caching Proxy 藉由實作 SSL 將這些要求升級成 HTTPS 要求。 指定一個不是主要 HTTP 埠 80 或主要 SSL 埠 443 的埠。
SSLForwardPort port number
SSLForwardPort 8888
無
啟用 SSL(通常是埠 443)時使用這個指引停用標準 HTTP 要求(通常是埠 80 和 8080)的接收程式執行緒。
SSLOnly {on | off}
SSLOnly off
請利用這個指引來指定 ibmproxy 預設 HTTPS 埠 443 以外的 HTTPS 接聽埠。
SSLPort port value
其中 port value 是一個大於 0 的整數值。另外,這個 port value 也應該是作業系統所接受的值,且不應給任何其他應用程式使用。
SSLPort 8443
443
使用這個指引,允許 SSL 通道作業到目的地主機上的任一埠。將這個指引設定為 on, 將允許 SSL 通道作業到目的地伺服器上的任一埠。將這個指引設定為 off, 將僅允許 SSL 通道作業到 Proxy 規則中所給定的埠。 如果沒有 SSL 通道作業的 Proxy 規則, 且 SSLTunneling 指引被設定為 off,則不允許進行 SSL 通道作業。 如果將 SSLTunneling 指引設定為 on,則您也必須使用 Enable 指引來啟用 CONNECT 方法。
當使用 Caching Proxy 作為反向 Proxy 時,停用這個指引(預設值)會防止 SSL 通道作業弱點攻擊。
SSLTunneling {on | off}
SSLTunneling off
使用這個指引來指定要使用 SSL 的哪一個版本:V2、V3 或全部版本。 如果使用無法支援 SSL 3 版的伺服器,請將這個指引設為 V2。
SSLVersion {SSLV2 | SSLV3 | all}
SSLVersion SSLV3
使用這個指引,指定在 SSL 版本 2 階段作業到期之前,如果沒有活動將等待多久(以秒計)。
SSLV2Timeout seconds
其中 seconds 代表 0 到 100 之間的值。
SSLV2Timeout 100
使用這個指引,指定在 SSL 版本 3 階段作業到期之前,如果沒有活動將等待多久(以秒計)。
SSLV3Timeout seconds
其中 seconds 代表 1 到 86400 秒(指一天的秒數)之間的一個值。
SSLV3Timeout 100
使用這個指引,指定您是否希望伺服器在比較檔案字尾與 AddClient、AddCharSet、AddType、AddEncoding 和 AddLanguage 指引的字尾型樣時, 要區分大小寫字母。通知發生了根據預設值,伺服器並不區分大小寫。
SuffixCaseSense {on | Off}
SuffixCaseSense Off
使用這個指引,在 SSL 連線時啟用 TLS 版本 1 通訊協定。 開啟這個指引之後,SSL 連線會先檢查 TLS 通訊協定,接著檢查 SSLv3 通訊協定,最後檢查 SSLv2 通訊協定。
TLSV1Enable {on | off}
TLSV1Enable on
無
這個指引可以指定伺服器執行「資料操作」步驟時, 應呼叫的自訂應用程式函數。這個程式碼提供三個應用程式函數:
伺服器的每個實例可以有多個使用中的 Transmogrifier。
Transmogrifier /path/file:function_name:function_name:function_name
Transmogrifier /ics/bin/icsext05.so:open_data:write_data:close_data
無
使用這個指引來傳送訊息至用戶端,通知它資料:
transmogrifiedwaning {yes|no}
是
僅限 Linux 和 AIX。 使用這個指引,指定伺服器是否可以當作透通式 Proxy 伺服器來執行。
TransparentProxy {On | Off}
Port 80
TransparentProxy Off
ibmproxy -unload在 Linux 系統上,這將移除重新導向「防火牆」規則,而且在 AIX 系統上, 它將卸載「透通式 Proxy 核心擴充」。 在停止伺服器後如果不發出這個指令, 將使得您的機器接受不是針對它的要求。
使用這個指引,指定快取代理程式應更新哪一個 Proxy 伺服器。 當快取代理程式需要更新它所執行的區域 Proxy 伺服器以外的 Proxy 伺服器時, 就必須使用它。您也可以選擇是否要指定連接埠。
雖然,快取代理程式可以更新另一伺服器上的快取, 但它不能從該機器中擷取快取存取日誌。 因此,如果 UpdateProxy 指引指定的主機不是區域主機,將忽略 LoadTopCached 指引。
UpdateProxy fully_qualified_host_name_of_proxy_server
UpdateProxy proxy15.ibm.com:1080
無
使用這個指引, 在存取檔案之前,指定伺服器要改成什麼使用者名稱或號碼。
如果您變更了這個指引,則必須先手動停止伺服器, 然後再重新啟動,這樣才能使變更生效。如果只是重新啟動伺服器的話, 伺服器將不會辨識變更。 (請參閱啟動與停止 Caching Proxy。)
UserId {ID_name | number}
AIX、Linux、Solaris:UserId nobody
HP-UX: UserId www
這個指引列出 SSL 2 版可用的密碼規格。
V2CipherSpecs specification
下列任何組合都是可接受的值。這些值只能使用一次。
無(在預設的狀況下會停用 SSL。)
這個指引會列出 SSL 3 版可用的密碼規格。
V3CipherSpecs specification
可接受的值包括下列值:
無(在預設的狀況下會停用 SSL。)
使用這個指引來設定要接收選取 Caching Proxy 報告的電子郵件位址,例如 SSL 憑證期限到期 30 天之前通知的報告。在 Linux 和 UNIX 系統中,必須執行 sendmail 程序。 如果是 Windows 系統,sendmail 程序是建置於 Caching Proxy 之中,因此不需要外部郵件伺服器;不過,必須額外設定兩個指引:WebMasterSocksServer(僅限 Windows)-- 設定 sendmail 常式的 Socks 伺服器 和SMTPServer(僅限 Windows)-- 設定 sendmail 常式的 SMTP 伺服器。
WebMasterEMail webmastermailaddress
WebMasterEmail webmaster@computer.com
WebMasterEmail webmaster
使用這個指引來設定 Caching Proxy for Windows 中,內部 sendmail 常式所使用的 Socks 伺服器。下列兩項指引也必須對這個常式設定:WebMasterEMail -- 設定電子郵件位址來接收選取伺服器報告 和SMTPServer(僅限 Windows)-- 設定 sendmail 常式的 SMTP 伺服器。
WebMasterSocksServer IP 位址或 Socks 伺服器的主機名稱
WebMasterSocksServer socks.mybox.com
無
使用這個指引, 指定伺服器應該尋找的歡迎使用檔案名稱,以回應不含特定檔名的要求。 您可以重複使用這個指引, 並將它們放進配置檔中來建立歡迎使用檔案清單。
而如果是不含檔名或目錄名稱的要求, 則伺服器通常都會在檔案根目錄中尋找與 Welcome 指引中所指定之名稱相符的檔案。 如果找到相符的檔案,則將它傳回要求者。
如果只含有目錄名稱而沒有檔案名稱的要求, 則 AlwaysWelcome 指引會控制伺服器是否要在目錄中尋找要傳回的歡迎使用檔案。依預設,AlwaysWelcome 會被設成 on 值。 這表示伺服器通常會在所要求的目錄中, 尋找檔案(符合在 Welcome 指引中所指定的名稱)。如果找到相符的檔案,則將它傳回要求者。
如果伺服器在目錄中的檔案與 Welcome 指引檔名之間找到數個相符的檔案, 則 Welcome 指引的順序會決定哪個檔案已傳回。伺服器會使用最靠近配置檔開頭的 Welcome 指引。
Welcome file_name [server_IP_address | host_name]
您可以指定 IP 位址(例如,240.146.167.72)或指定主機名稱(例如,hostA.bcd.com)。
這個參數是選用性參數。如果沒有這個參數,則伺服器會將指引用在所有的要求上, 不管要求是進入 IP 位址,或是進入 URL 中的主機名稱都一視同仁。
不可對伺服器的 IP 位址指定萬用字元。
Welcome letsgo.html Welcome Welcome.html
Welcome CustomerA.html 0.67.106.79 Welcome CustomerB.html 0.83.100.45
Welcome CustomerA.html hostA.bcd.com Welcome CustomerB.html hostB.bcd.com
按照預設配置使用的順序顯示這些預設值:
Welcome Welcome.html Welcome welcome.html Welcome index.html Welcome Frntpage.html