Sun Java System Web Proxy Server 4.0.8 管理指南

第 12 章 快取

本章說明 Sun Java System Web Proxy Server 快取文件的方式。同時說明如何使用線上頁面來配置快取。

本章包含下列小節:

快取的運作方式

對於使用 Proxy Server (而非直接存取遠端伺服器) 的用戶端,快取可以降低網路流量並提供更短的回應時間。

當用戶端向代理伺服器請求網頁或文件時,代理伺服器將文件傳送給用戶端的同時,會從遠端伺服器將文件複製到其本機快取目錄結構。

當用戶端請求之前請求過並已複製到代理伺服器快取的文件時,代理伺服器會從快取傳回此文件,而不會再次從遠端伺服器擷取此文件,如下圖所示。若代理伺服器判斷檔案並不是最新的,則會從遠端伺服器更新此文件,並在將文件傳送給用戶端之前,更新其快取。

圖 12–1 代理伺服器文件擷取

顯示請求文件之用戶端以及從快取傳送文件之代理伺服器的圖表

Sun Java System Web Proxy Server 資源回收公用程式 (CacheGC) 會自動維護快取中的檔案。CacheGC 會定期自動清理快取以確保快取不會因過期文件而出現混亂。

瞭解快取結構

快取由一或多個分割區組成。就概念上而言,分割區是磁碟上留作快取用途的儲存區域。若要讓快取跨越數個磁碟,請至少為每個磁碟配置一個快取分割區。每個分割區均可獨立管理。換句話說,可以單獨對某個分割區進行啟用、停用和配置,其他分割區不受影響。

在單一位置儲存大量快取檔案會使得效能降低;因此,建議您在每個分割區中建立數個目錄或區段。在快取結構中,區段是分割區的下一個層級。在跨越所有分割區的快取中最多可以有 256 個區段。快取區段的數目必須是 2 的乘冪 (例如,1、2、4、8、16、...、256)。

快取結構階層中的最低層級是子區段。子區段是區段內的目錄。每個區段具有 64 個子區段。快取檔案儲存在快取中最低層級的子區段中。

下圖顯示了一個具有分割區與區段的快取結構範例。在此圖中,快取目錄結構將整個快取分為三個分割區。第一個分割區包含四個快取區段,而其餘兩個分割區各包含兩個區段。

每個快取區段的標註方式是:以「s」表示區段,其後為區段號碼。對於顯示為 s3.4 的區段,3 表示快取區段號碼是 2 的 3 乘冪 (23 = 8),而 4 表示區段號碼 (共有 8 個區段,標示為 0 到 7)。因此,s3.4 表示 8 個區段的第 5 個。

圖 12–2 快取結構範例

顯示範例快取目錄的圖表 (其中總快取分為三個分割區)。

分配快取中的檔案

Proxy Server 使用特定演算法來確定文件應儲存於哪個目錄。此演算法可確保將文件平均分配在各目錄中。平均分配非常重要,因為包含大量文件的目錄可能會導致效能問題。

Proxy Server 使用 RSA MD5 演算法 (訊息摘要 5) 將 URL 簡化為 16 位元組的二進位資料,並使用此資料的 8 個位元組來計算 16 個字元的十六進位檔案名稱,以此將文件儲存在快取中。

設定快取明細

您可以藉由設定快取明細來啟用快取並控制 Proxy Server 將快取的協定類型。快取明細包含下列項目:


備註 –

設定大型快取的明細非常耗時,而且可能導致管理介面逾時。因此,若要建立大型快取,請使用指令行公用程式來設定快取明細。如需有關快取指令行公用程式的更多資訊,請參閱使用快取指令行介面


Procedure設定快取明細

  1. 存取 Server Manager,然後按一下 [Caching] 標籤。

  2. 按一下 [Set Cache Specifics] 連結。

    此時會顯示 [Set Cache Specifics] 頁面。

  3. 您可以選取適當的選項來啟用或停用快取。

    依預設,快取為啟用狀態。

  4. 提供工作目錄。

    依預設,工作目錄位於代理伺服器實例下。您無法變更此位置。如需更多資訊,請參閱建立快取工作目錄

  5. 按一下 [partition configuration] 連結。

    此時會顯示 [Add/Edit Cache Partitions] 頁面。您可以增加新的快取分割區,或編輯現有的快取分割區。快取大小是允許快取擴充到的最大值。快取大小最大值是 32 GB。如需更多資訊,請參閱設定快取大小

  6. 按一下 [cache capacity configuration] 連結。

    此時會顯示 [Set Cache Capacity] 頁面。您可以在 [Set Cache Capacity] 頁面上設定快取容量。

  7. 選取 [Cache HTTP] 以啟用 HTTP 文件的快取。

    如果確定要讓代理伺服器快取 HTTP 文件,則必須確定應讓其一直對快取內的文件進行最新狀態檢查,還是讓它每隔一段時間進行檢查。您也可以啟用或停用 Proxy Server 向遠端伺服器報告快取符合項目的功能。如需更多資訊,請參閱快取 HTTP 文件。可用選項如下:

    • 選取 [Always Check That The Document Is Up To Date] 選項來確保 HTTP 文件永遠是最新的。

      • 從 [Check Only If Last Check More Than] 下拉式清單選取小時數,以指定代理伺服器的重新整理間隔。使用下列選項之一可執行最新狀態檢查:

        • Use Last-modified Factor。這是原始伺服器連同文件一起傳送的上次修改的標頭。

        • Use Only Explicit Expiration Information。代理伺服器會使用 Expires 標頭來判斷快取項目為最新還是過期。

        選取 [Never Report Accesses To Remote Server] 選項來避免代理伺服器向遠端伺服器報告存取次數。

      • 選取 [Report Cache Hits To Remote Server] 選項來追蹤文件的存取次數並向遠端伺服器回報。

  8. 選取 [Yes; Reload If Older Than] 核取方塊以設定快取 FTP 文件的重新整理間隔,並從下拉式清單中選取值以設定時間間隔。如需更多資訊,請參閱快取 FTP 與 Gopher 文件

  9. 可以為快取 Gopher 文件設定重新整理間隔。選取 [Yes; Reload If Older Than] 核取方塊,並從下拉式清單中選取值以設定時間間隔。如需更多資訊,請參閱快取 FTP 與 Gopher 文件

  10. 按一下 [OK]。

  11. 按一下 [Restart Required]。此時會顯示 [Apply Changes] 頁面。

  12. 按一下 [Restart Proxy Server] 按鈕以套用變更。

建立快取工作目錄

快取檔案位於快取分割區下。您在 [Set Cache Specifics] 頁面上指定的工作目錄通常是快取的父系目錄。所有快取的檔案會出現在快取目錄下的組織化目錄結構中。若變更快取目錄名稱或將它移動到另一個位置,則必須為代理伺服器提供新位置。

您可以將快取目錄結構延伸到多個檔案系統上,以便將大型快取結構分散到多個較小的磁碟上,而不是完全儲存在一個大型磁碟上。每個代理伺服器都必須有自己的快取目錄結構,也就是說,多部代理伺服器無法同時共用快取目錄。

設定快取大小

快取大小指的是分割區大小。快取大小永遠都應小於快取容量,因為快取容量是快取可擴充到的最大值。所有分割區大小的總和必須小於或等於快取大小。

代理伺服器快取可用的磁碟空間對於快取效能有重大影響。若快取太小,Cache GC 必須更頻繁地移除快取文件以挪出磁碟空間,而且必須更頻繁地從內容伺服器擷取文件,從而會使效能降低。

使用較大的快取效率比較高,因為快取的文件越多,網路流量負載就越小,且代理伺服器可提供的回應時間也越短。此外,GC 會移除使用者不再需要的快取文件。如果排除檔案系統本身的限制,快取大小絕不會有過大之慮。多餘的空間只是維持原狀而已。

您也可以將快取設定為分散於多個磁碟分割區。

快取 HTTP 文件

HTTP 文件能提供其他協定的文件無法提供的快取功能。然而,透過正確地設定並配置快取,可確保 Proxy Server 能有效快取 HTTP、FTP 與 Gopher 文件。


備註 –

Proxy Server 4 不支援快取 HTTPS 文件。


所有 HTTP 文件都具有描述性標頭區段,Proxy Server 可使用該區段來比較並評估代理伺服器快取中的文件與遠端伺服器上的文件。當代理伺服器針對 HTTP 文件執行最新狀態檢查時,代理伺服器會傳送一個請求給伺服器,告知伺服器若發現快取中的版本過期則傳回文件。通常,文件在上次請求後並無變更,因此不會進行傳輸。此種透過檢查 HTTP 文件是否為最新的方式可節省頻寬並減少延時。

為降低與遠端伺服器之間的作業事件,Proxy Server 可讓您針對 HTTP 文件設定 [Cache Expiration] 設定。[Cache Expiration] 設定提供資訊給代理伺服器,以判斷傳送請求給伺服器之前,是否需要為 HTTP 文件執行最新狀態檢查。代理伺服器會根據在 HTTP 文件標頭中找到的 Last-Modified 日期來進行估計。

對於 HTTP 文件,您也可以使用 [Cache Refresh] 設定。此選項指定代理伺服器是否一直進行最新狀態檢查 (這會置換過期設定),或代理伺服器是否等待特定時間間隔後再進行檢查。下表顯示同時指定過期設定與重新整理設定時,代理伺服器的動作。使用重新整理設定可顯著降低延時並節省頻寬。

表 12–1 對 HTTP 使用 [Cache Expiration] 與 [Cache Refresh] 設定

重新整理設定 

過期設定 

結果 

一直執行最新狀態檢查 

(不適用) 

一直執行最新狀態檢查 

使用者指定的間隔 

使用文件的「Expires」標頭 

間隔過期時進行最新狀態檢查 

 

使用文件的 Last-Modified 標頭來估計 

估計值與 Expires 標頭值兩者中較小者* 


備註 –

* 對於經常變更的文件,使用較小的值可避免從快取取得過期的資料。


設定 HTTP 快取重新整理間隔

如果確定要讓 Proxy Server 快取 HTTP 文件,則必須確定是讓 Proxy Server 一直對快取內的文件進行最新狀態檢查,還是讓它根據 [Cache Refresh] 設定 (最新狀態檢查間隔) 來進行檢查。例如,對 HTTP 文件合理的重新整理間隔是四到八小時。重新整理間隔越久,代理伺服器連線到遠端伺服器的次數就越少。即使代理伺服器未在重新整理間隔時間內執行最新狀態檢查,使用者也可以按一下用戶端中的 [Reload] 按鈕強制重新整理。此動作可讓代理伺服器對遠端伺服器執行強制最新狀態檢查。

您可以在 [Set Cache Specifics] 頁面或 [Set Caching Configuration] 頁面設定 HTTP 文件的重新整理間隔。使用 [Set Cache Specifics] 頁面可以配置全域快取程序,而使用 [Set Caching Configuration] 頁面可以控制特定 URL 與資源的快取程序。

設定 HTTP 快取過期策略

您也可以設定伺服器以使用 Last-modified 因子或只使用明確的過期資訊來檢查快取文件是否為最新。

明確的過期資訊是見於某些 HTTP 文件中的一種標頭,指定檔案的過期日期與時間。使用明確的 Expires 標頭的 HTTP 文件並不是很多,因此您應該根據 Last-modified 標頭來決定何時執行最新狀態檢查。

若決定根據 Last-modified 標頭來快取您的 HTTP 文件,必須選取要在過期估計中使用的分數。此分數稱為 LM 因子,將與文件的上次修改時間和上次對文件執行最新狀態檢查的時間之間的間隔相乘。將所得數字和自上次執行最新狀態檢查以來的時間做比較。若此數字小於時間間隔,表示文件尚未過期。較小的分數會讓代理伺服器更頻繁地檢查文件。

例如,假設有一個文件的上次變更時間是十天前。若將 Last-modified 因子設定為 0.1,代理伺服器會將其解釋為該文件可能會有一天時間不會變更 (10 * 0.1 = 1)。在這種情況下,如果在不到一天前檢查過此文件,代理伺服器會從快取中傳回文件。

同樣以此為例,若 HTTP 文件的快取重新整理設定是設定為小於一天,則代理伺服器在一天中會執行一次以上的最新狀態檢查。代理伺服器會一直使用需要其更頻繁地更新檔案的值 ([Cache Refresh] 或 [Cache Expiration])。

您可以在 [Set Cache Specifics] 頁面或 [Set Caching Configuration] 頁面設定 HTTP 文件的過期設定。使用 [Set Cache Specifics] 頁面可以配置全域快取程序,而使用 [Set Caching Configuration] 頁面可以控制特定 URL 與資源的快取程序。

向遠端伺服器報告 HTTP 存取次數

Sun Java System Web Proxy Server 快取文件後到再次重新整理前,文件可被存取多次。對於遠端伺服器而言,傳送一份副本給加以快取的代理伺服器僅表示存取一次,也就是一個「符合項目」。Proxy Server 可以針對兩次最新狀態檢查期間,計算從代理伺服器快取存取指定文件的計數,然後將此符合項目的計數在下次重新整理此文件時,透過附加 HTTP 請求標頭 (Cache-Info) 傳回遠端伺服器。如此一來,若遠端伺服器是配置為識別此標頭類型,遠端伺服器就能接收到某文件存取次數的更準確記錄。

快取 FTP 與 Gopher 文件

FTP 與 Gopher 不包含檢查文件是否為最新的方法。因此,最佳化 FTP 與 Gopher 文件快取的唯一方式是設定 [Cache Refresh] 間隔。[Cache Refresh] 間隔是 Proxy Server 從遠端伺服器擷取最新版文件之前的等待時間。若未設定 [Cache Refresh] 間隔,即使快取中的文件已是最新版本,代理伺服器也會擷取這些文件。

若要設定 FTP 與 Gopher 的快取重新整理間隔,請為代理伺服器取得的文件選擇您認為最安全的間隔。例如,如果儲存的資訊很少變更,請使用較大的數字 (幾天)。若資料經常變更,最好每隔幾小時就擷取檔案。在重新整理期間,您有可能會把過期檔案傳送給用戶端。若重新整理間隔足夠短 (例如幾小時),可以降低上述風險,同時回應時間也會明顯縮短。

您可以在 [Set Cache Specifics] 頁面或 [Set Caching Configuration] 頁面設定 FTP 與 Gopher 文件的快取重新整理間隔。使用 [Set Cache Specifics] 頁面可以配置全域快取程序,而使用 [Set Caching Configuration] 頁面可以控制特定 URL 與資源的快取程序。如需有關使用 [Set Cache Specifics] 頁面的更多資訊,請參閱設定快取明細。如需有關使用 [Set Caching Configuration] 頁面的更多資訊,請參閱配置快取


備註 –

若您的 FTP 與 Gopher 文件差異性很大 (有些經常變更,有些很少變更),請使用 [Set Caching Configuration] 頁面為每種類型的文件建立個別範本 (例如,建立資源 ftp://.*.gif 的範本),然後為該資源設定適合的重新整理間隔。


建立與修改快取

快取分割區是磁碟或記憶體中保留的部分,此保留部分是用於快取用途。若快取容量變更,最好變更或增加分割區。

Procedure增加快取分割區

  1. 存取 Server Manager,然後按一下 [Caching] 標籤。

  2. 按一下 [Add/Edit Cache Partitions] 連結。

    此時會顯示 [Add/Edit Cache Partitions] 頁面。

  3. 按一下 [Add Cache Partition] 按鈕。

    此時會顯示 [Cache Partition Configuration] 頁面。

  4. 為新分割區提供適當的值。

  5. 按一下 [OK]。

  6. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  7. 按一下 [Restart Proxy Server] 按鈕以套用變更。

Procedure修改快取分割區

  1. 存取 Server Manager,然後按一下 [Caching] 標籤。

  2. 按一下 [Add/Edit Cache Partitions] 連結。

    此時會顯示 [Add/Edit Cache Partitions] 頁面。

  3. 按一下要變更的分割區名稱。

  4. 編輯資訊。

  5. 按一下 [OK]。

  6. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  7. 按一下 [Restart Proxy Server] 按鈕以套用變更。

設定快取容量

快取容量值用來導出快取目錄結構。快取目錄中可容納的區段數目源自快取容量。快取容量與快取目錄中的快取階層有直接關聯。容量越大,階層就越大。快取容量應該等於或大於快取大小。若計劃未來將增加快取大小 (例如,透過增加外接式磁碟的方式),將容量設定為大於快取大小將很有幫助。快取容量最大值是 32 GB,設定為此容量時可建立 256 個區段。

Procedure設定快取容量

  1. 存取 Server Manager,然後按一下 [Caching] 標籤。

  2. 按一下 [Set Cache Capacity] 連結。

    此時會顯示 [Set Cache Capacity] 頁面。

  3. 從 [New Capacity Range] 下拉式清單選擇容量。

  4. 按一下 [OK]。

  5. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  6. 按一下 [Restart Proxy Server] 按鈕以套用變更。

管理快取區段

代理伺服器快取分為一或多個快取區段。區段數目上限為 256 個。快取區段的數目必須是 2 的乘冪 (例如,1、2、4、8、16、...、256)。快取容量最大值為 32 GB (最佳值),具有 256 個快取區段。

若選擇 500 MB 的快取容量,安裝程式會建立 4 個快取區段 (500 d6 125 = 4);若選擇 2 GB 的快取容量,安裝程式會建立 16 個區段 (2000 d6 125 = 16)。選擇 125 MB 做為每個區段的最佳值以取得區段的數目。區段數目越多,跨區段儲存與分配的 URL 數目就越多。

Procedure管理快取區段

  1. 存取 Server Manager,然後按一下 [Caching] 標籤。

  2. 按一下 [Manage Sections] 連結。

    此時會顯示 [Manage Sections] 頁面。

  3. 變更該表格上的資訊。

    可以在現有的分割區之間移動區段。

  4. 按一下 [OK]。

  5. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  6. 按一下 [Restart Proxy Server] 按鈕以套用變更。

設定資源回收喜好設定

您可以使用快取回收收集器從快取中刪除檔案。資源回收可以自動模式或明確模式執行。明確模式是指由管理員在外部設定排程。選取其中一種模式,然後按一下 [OK]。按一下 [Restart Required]。此時會顯示 [Apply Changes] 頁面。按一下 [Restart Proxy Server] 按鈕以套用變更。

排程資源回收

[Schedule Garbage Collection] 頁面可指定執行資源回收的日期與時間。

Procedure設定資源回收

  1. 存取 Server Manager,然後按一下 [Caching] 標籤。

  2. 按一下 [Schedule Garbage Collection] 連結。

    此時會顯示 [Schedule Garbage Collection] 頁面。

  3. 從 [Schedule Garbage Collection At list] 清單選取執行資源回收的時間。

  4. 指定要在星期幾執行資源回收。

  5. 按一下 [OK]。

  6. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  7. 按一下 [Restart Proxy Server] 按鈕以套用變更。

配置快取

您可以針對符合所指定之常規表示式模式的 URL,指定數個配置參數值。透過此功能,您可以根據已快取的文件類型更精確地控制代理伺服器快取。配置快取可能包括確定下列項目:


備註 –

若將特定資源的快取預設值設定為 [Derived configuration] 或 [Don’t cache],則 [Set Caching Configuration] 頁面將不會顯示快取配置選項。然而,若為資源選擇快取預設值 Cache,則可以指定數個其他配置項目。


Procedure配置快取

  1. 存取 Server Manager,然後按一下 [Caching] 標籤。

  2. 按一下 [Set Caching Configuration] 頁面。

    此時會顯示 [Set Caching Configuration] 頁面。

  3. 從下拉式清單中選取資源,或按一下 [Regular Expression] 按鈕,然後鍵入常規表示式並按一下 [OK]。

  4. 變更配置資訊。

  5. 按一下 [OK]。

  6. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  7. 按一下 [Restart Proxy Server] 按鈕以套用變更。

快取配置元素

以下各節包含的資訊將協助您確定最符合您需求的配置。

設定快取預設值

代理伺服器可讓您確定特定資源的快取預設值。此處所稱資源是指符合您所指定的某些條件的檔案類型。例如,若要讓您的伺服器自動快取來自網域 company.com 的所有文件,可以建立以下常規表示式

[a-z] *://[^/:]\\.company\\.com.*

依預設,將選取 [Cache] 選項。您的伺服器會自動快取來自該網域的所有可快取文件。


備註 –

若將特定資源的快取預設值設定為 [Derived configuration] 或 [Don’t cache],則不需要為該資源配置快取。然而,若為資源選擇快取預設值 Cache,則可以指定數個其他配置項目。如需這些項目的清單,請參閱配置快取


也可以設定 HTTP、FTP 與 Gopher 的快取預設值。

快取需要認證的頁面

您可以讓伺服器快取需要使用者認證的檔案。Proxy Server 會為快取中的檔案加上標籤,如此一來,當使用者請求檔案時,Proxy Server 可以向遠端伺服器要求認證。

因為 Proxy Server 無法決定遠端伺服器的認證方式,而且沒有使用者 ID 或密碼清單,所以它只會在每次收到對需要認證的文件的請求時強制對遠端伺服器執行最新狀態檢查。 因此,使用者必須鍵入 ID 與密碼才能取得檔案的存取權。若使用者在瀏覽器階段作業中的初期存取過該伺服器,則瀏覽器會自動傳送認證資訊,而不會提示使用者。

若不啟用對需要認證的頁面的快取,則代理伺服器會採取預設的運作方式,即不會對它們進行快取。

快取查詢

快取查詢只適用於 HTTP 文件。您可以限制所快取查詢的長度,也可完全禁止快取查詢。查詢越長,重複的機會就越低,快取的效用也越低。

以下快取限制適用於查詢:

設定快取檔案大小的最小值與最大值

可以為 Proxy Server 快取的檔案大小設定最小值與最大值。若您的網路連線速度很快,最好設定最小值。若連線速度很快,擷取小型檔案的速度可能會快到讓伺服器不需要快取這些檔案。在此情況下,您可以只快取較大的檔案。您可能想要設定檔案大小的最大值,以確定大型檔案不會佔用太多代理伺服器磁碟空間。

設定最新狀態檢查策略

最新狀態檢查策略可確保 HTTP 文件永遠是最新的。您也可以指定 Proxy Server 的重新整理間隔。

設定過期策略

您可以使用 Last-Modified 因子或明確的過期資訊來設定過期策略。

設定用戶端中斷時的快取運作方式

若文件只擷取了一部分時用戶端就中斷了資料傳輸,則代理伺服器可以為了快取的目的而完成文件擷取程序。代理伺服器的預設值是為了快取,而針對已擷取至少 25% 的文件完成擷取文件的動作。否則,代理伺服器會終止遠端伺服器連線,並移除未完成擷取的檔案。您可以視需要提高或降低用戶端中斷百分比。

無法連線到伺服器時的運作方式

若由於無法與原始伺服器連線,致使對過期文件進行的最新狀態檢查失敗,您可以指定代理伺服器是否傳送快取中的過期文件。

快取本地主機

若從本地主機請求的 URL 缺少網域名稱,Proxy Server 將不會快取它。此運作方式可避免重複快取。例如,若使用者從本機伺服器請求 http://machine/filename.htmlhttp://machine.example.com/filename.html,兩個 URL 可能都會出現在快取中。因為這些檔案是來自本機伺服器,擷取這些檔案的速度很快,因此沒有必要快取這些檔案。

然而,若您的公司在許多遠端位置都有伺服器,您可能想要快取來自所有主機的文件,以降低網路流量並縮短存取檔案所需的時間。

Procedure啟用對本地主機的快取

  1. 存取 Server Manager,然後按一下 [Caching] 標籤。

  2. 按一下 [Cache Local Hosts] 連結。

    此時會顯示 [Cache Local Hosts] 頁面。

  3. 從下拉式清單中選取資源,或按一下 [Regular Expression] 按鈕,然後鍵入常規表示式並按一下 [OK]。

    如需有關常規表示式的更多資訊,請參閱第 16 章管理範本和資源

  4. 按一下 [Enabled] 按鈕。

  5. 按一下 [OK]。

  6. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  7. 按一下 [Restart Proxy Server] 按鈕以套用變更

配置檔案快取記憶體

依預設,檔案快取總處於開啟狀態。檔案快取設定包含在 server.xml 檔案中。您可以使用 Server Manager 變更檔案快取記憶體的設定。


備註 –

使用者介面會顯示 [Configure File Cache] 頁面,但此頁面在 Proxy Server 4 的此發行版本中並未實作


Procedure配置檔案快取

  1. 按一下 Server Manager 的 [Caching] 標籤。

  2. 按一下 [File Cache Configuration] 連結。

    此時會顯示 [File Cache Configuration] 頁面。

  3. 選取 [Enable File Cache] (如果尚未選取)。

  4. 選擇是否傳輸檔案。

    當您啟用 [Transmit File] 時,伺服器會快取檔案快取 (而非檔案內容) 中檔案的開啟檔案描述元。PR_TransmitFile 用於將檔案內容傳送給用戶端。啟用 [Transmit File] 時,由於僅快取開啟檔案描述元,因此檔案快取不再像平常一樣區別小型、中型和大型檔案。依預設,[Transmit File] 在 Windows 上啟用,而在 UNIX 上停用。在 UNIX 系統上,您只應該針對本機作業系統已經支援 PR_TransmitFile 的平台 (目前包括 HP-UX 和 AIX) 啟用 [Transmit File]。不建議在 UNIX/Linux 平台上啟用此選項。

  5. 鍵入雜湊表格的大小。

    預設大小是檔案最大數目的兩倍加 1。例如,如果檔案的最大數目設定為 1024,則預設的隨機表格大小為 2049。

  6. 鍵入有效快取項目的最長作用時間 (以秒為單位)。

    預設設定是 30。此設定控制快取檔案後可以繼續使用快取資訊的時間。比 MaxAge 舊的項目將由相同檔案的新項目替代 (如果快取參照相同的檔案)。您可以根據內容是否定期更新來設定最長作用時間。例如,如果一天以固定時間間隔更新內容四次,則可將最長作用時間設定為 21600 秒 (6 小時)。否則,請考慮將最長存在時間設定為要在檔案經過修改後仍願意提供內容檔案之先前版本的最長時間。

  7. 鍵入要快取的最多檔案數量:[Maximum Number of Files]。

    預設設定是 1024。

  8. 鍵入中型與小型檔案大小限制 (以位元組為單位)。

    [Medium File Size Limit] 的預設值是 537600。[Small File Size Limit] 的預設值是 2048。

    快取對於小型、中型與大型檔案的處理方式不一樣。透過將檔案對映到虛擬記憶體來快取中型檔案的內容 (僅限於 UNIX/Linux 平台)。透過配置堆疊儲存區空間,然後將檔案讀入此空間,來快取小型檔案的內容。對於大型檔案,只會快取檔案的相關資訊,而不會快取檔案內容。區分小型檔案與中型檔案的好處,在於小型檔案的數目很多時,可避免浪費虛擬記憶體眾多頁面的一部分。因此,[Small File Size Limit] 的值通常略低於 VM 頁面大小。

  9. 設定中型與小型檔案空間。

    中型檔案空間是用於對映所有中等大小檔案的虛擬記憶體大小 (以位元組為單位)。此大小預設為 10485760。小型檔案空間是用於快取的堆疊儲存區空間大小 (以位元組為單位),包括用於快取小型檔案的堆疊儲存區空間。在 UNIX/Linux 中,此大小預設為 1048576。

  10. 按一下 [OK]。

  11. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  12. 按一下 [Restart Proxy Server] 按鈕以套用變更

檢視 URL 資料庫

您可以檢視所有已記錄之快取 URL (依照存取協定與網站名稱分組) 的名稱與屬性。您可以透過存取此資訊而執行各種快取管理功能,例如將快取中的文件設定為過期與將快取中的文件移除。

Procedure檢視資料庫中的 URL

  1. 存取 Server Manager,然後按一下 [Caching] 標籤。

  2. 按一下 [View URL Database] 連結。

    此時會顯示 [View URL Database] 頁面。

  3. 按一下 [Regenerate] 按鈕以產生最新的快取 URL 清單。

  4. (可選) 若要檢視特定 URL 的資訊,請在 [Search] 欄位鍵入 URL 或常規表示式,然後按一下 [Search] 按鈕。

  5. 若要檢視依網域名稱與主機分組的快取資料庫資訊:

    1. 請從清單中選取一個網域名稱。

      此時會顯示該網域的主機清單。按一下主機名稱,此時會顯示 URL 清單。

    2. 按一下 URL 名稱。

      此時會顯示關於該 URL 的詳細資訊。

    3. 按一下 URL 名稱可查看關於該 URL 的詳細資訊。

Procedure將快取 URL 設定為過期或移除快取 URL

  1. 存取 Server Manager,然後按一下 [Caching] 標籤。

  2. 按一下 [View URL Database] 連結。

    此時會顯示 [View URL Database] 頁面。

  3. 按一下 [Regenerate] 按鈕以產生快取資料庫的快照。

    此快照為後續步驟的基礎。

  4. 若知道要設定為過期或移除的特定 URL,請在 [Search] 欄位中鍵入 URL 或符合此 URL 的常規表示式,然後按一下 [Search] 按鈕。

  5. 如果想處理依照網域名稱與主機分組的 URL:

    1. 請從清單中選取一個網域名稱。

      此時會顯示該網域的主機清單。

    2. 按一下主機名稱,此時會顯示 URL 清單。

  6. 若要將個別檔案設定為過期:

    1. 請選取這些檔案之 URL 旁的 [Ex] 選項。

    2. 然後按一下 [Exp/Rem Marked] 按鈕。

  7. 若要將清單中的所有檔案設定為過期,請按一下表單底部的 [Exp All] 按鈕。

  8. 若要從快取中移除個別檔案:

    1. 請選取要移除之檔案的 URL 旁的 [Rm] 選項。

    2. 然後按一下 [Exp/Rem Marked] 按鈕。

  9. 若要移除清單中的所有檔案,請按一下 [Rem All] 按鈕。

  10. 按一下 [Regenerate] 按鈕以重新產生快照。


    備註 –

    當您使用 [Ex] 或 [Rm] 選項時,會處理關聯的檔案,但所做的變更不會反映在快照中。您必須重新產生快照,才能看到所做的變更。


使用快取批次更新

您可以在代理伺服器不忙碌的時候預先載入指定網站中的檔案,或對已存在於快取中的文件執行最新狀態檢查。您可以建立、編輯與刪除 URL 批次,以及啟用與停用批次更新。

建立批次更新

您可以透過指定要批次更新的檔案來主動快取檔案。您可以針對已存在於快取中的數個檔案執行最新狀態檢查,或預先載入特定網站中的多個檔案。

Procedure建立批次更新

  1. 存取 Server Manager,然後按一下 [Caching] 標籤。

  2. 按一下 [Set Cache Batch Updates] 連結。

    此時會顯示 [Set Cache Batch Updates] 頁面。

  3. 從 [Create/Select a Batch Update Configuration] 旁的下拉式清單中選取 [New and Create]。

  4. 按一下 [OK]。此時會顯示 [Set Cache Batch Updates] 頁面。

  5. 在 [Name] 區段中,鍵入新批次更新項目的名稱。

  6. 在該頁面的 [Source] 區段中,選取要建立的批次更新類型。

    若要針對快取中的所有文件執行最新狀態檢查,請按一下第一個單選按鈕。若要從指定的來源 URL 以遞迴方式快取 URL,請按一下第二個單選按鈕。

  7. 在 [Source] 區段欄位中,指定要在批次更新中使用的文件。

  8. 在 [Exceptions] 區段中,指定要從批次更新排除的任何檔案。

  9. 在 [Resources] 區段中,鍵入最大同步式連線數以及遍歷的最大文件數。

  10. 按一下 [OK]。

    選取新增的批次名稱,並從 [Create/Select a Batch Update Configuration] 旁的下拉式清單中選取 [Schedule]。

  11. 按一下 [OK]。


    備註 –

    您可以在不開啟批次更新的情況下建立、編輯與刪除批次更新配置。然而,如果希望批次更新根據您在 [Set Cache Batch Updates] 頁面所設定的時間執行,則必須開啟更新。


  12. 此時會顯示 [Schedule Batch Updates] 頁面。

  13. 選取 [Update On] 或 [Update Off] 選項。

  14. 在下拉式清單中選取時間,然後選取要執行更新的日期。

  15. 按一下 [OK]。

  16. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  17. 按一下 [Restart Proxy Server] 按鈕以套用變更

編輯或刪除批次更新配置

若要排除特定檔案或更頻繁地更新批次,可以編輯批次更新。也能想要完全刪除某個批次更新配置。

Procedure編輯或刪除批次更新配置

  1. 存取 Server Manager,然後按一下 [Caching] 標籤。

  2. 按一下 [Set Cache Batch Updates] 連結。

    此時會顯示 [Set Cache Batch Updates] 頁面。

  3. 若要編輯批次,請選取批次名稱,然後從 [Create/Select a Batch Update Configuration] 旁的下拉式清單中選取 [Edit]。

  4. 按一下 [OK]。

    此時會顯示 [Set Cache Batch Updates] 頁面。

  5. 視需要修改資訊。

  6. 按一下 [OK]。

  7. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  8. 按一下 [Restart Proxy Server] 按鈕以套用變更。

Procedure刪除批次更新配置

  1. 存取 Server Manager,然後按一下 [Caching] 標籤。

  2. 按一下 [Set Cache Batch Updates] 連結。

  3. 若要刪除批次,請選取批次名稱,然後從 [Create/Select a Batch Update Configuration] 旁的下拉式清單中選取 [Delete]。

  4. 按一下 [OK]。

  5. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  6. 按一下 [Restart Proxy Server] 按鈕以套用變更。

使用快取指令行介面

代理伺服器提供數個指令行公用程式,您可以使用這些公用程式來配置、變更、產生與修復您的快取目錄結構。這些公用程式的功能大部分都與 Server Manager 頁面上的功能重複。若需要對維護 (例如 cron 工作) 進行排程,您可能需要使用這些公用程式。所有公用程式都位於 extras 目錄。

Procedure執行指令行公用程式

  1. 從指令行提示符號移至 server_root /proxy-serverid 目錄。

  2. 鍵入 ./start -shell

    以下各節說明各種公用程式。

建立快取目錄結構

名為 cbuild 的代理伺服器公用程式是一個離線快取資料庫管理程式。此公用程式可讓您使用指令行介面來建立新的快取結構或修改現有的快取結構。您可以使用 Server Manager 頁面來啟用代理伺服器以使用新建立的快取。


備註 –

此公用程式不會更新 server.xml 檔案。cbuild 無法對具有多個分割區的快取調整大小。透過 cbuild 建立或修改快取時,應該手動更新 server.xml 檔案中的 cachecapacity 參數。

<PARTITION partitionname="part1" partitiondir="/home/build/install9
/proxy-server1/cache" maxsize="1600" minspace="5" enabled="true"/>
<CACHE enabled="true" cachecapacity="2000" cachedir="/tmp/cache">

您可以使用兩種模式來呼叫 cbuild 公用程式。第一種模式是:

cbuild -d conf-dir -c cache-dir -s cache size 
cbuild -d conf-dir -c cache-dir -s cache size -r

例如︰

cbuild -d server_root/proxy-serverid/config 
	-c server_root/proxy-serverid/cache -s 512
cbuild -d server_root/proxy-serverid/config 
	-c server_root/proxy-serverid/cache -s 512 -r

其中

第二種模式是:

cbuild -d conf-dir -c cache-dir -n cache-dim
cbuild -d conf-dir -c cache-dir -n cache-dim -r

例如︰

cbuild -d server_root/proxy-serverid/config 
	-c server_root/proxy-serverid/cache -n 3
cbuild -d server_root/proxy-serverid/config 
	-c server_root/proxy-serverid/cache -n 3 -r

其中

管理快取 URL 清單

代理伺服器公用程式 urldb 用於管理快取中的 URL 清單。您可以使用此公用程式來列出已快取的 URL。您也可以從快取資料庫選取性地移除已快取的物件,或將它設定為過期。

urldb 指令可根據 -o 選項分為三個群組:

管理快取資源回收

cachegc 公用程式可讓您從快取資料庫中移除受快取大小限制,可能已過期或過舊以致於無法快取的物件。


備註 –

使用 cachegc 公用程式時,請確定 CacheGC 並未在代理伺服器實例中執行。


cachegc 公用程式的使用方式如下:

cachegc -f leave-fs-full-percent -u gc-high-margin-percent -l gc-low-margin-percent -e 
	extra-margin-percent -d conf-dir

例如︰

cachegc -f 50 -u 80 -l 60 -e 5 -d server-root/proxy-serverid/config

其中

管理批次更新

bu 公用程式用於更新快取,它有兩種運作模式。在第一種模式中,它會反覆檢查快取資料庫,並透過為每個 URL 傳送 HTTP 請求來更新快取中現存的所有 URL。在第二種模式中,它會從指定的 URL 開始對從此 URL 至所指定層級的所有連結執行廣度優先遍歷,並將頁面擷取到快取中。bu 是與 RFC 相容的網頁抓取程式。

bu -n hostname -p port -t time-lmt -f contact-address -s sleep-time -o object -r n -d conf-dir

例如︰

bu -n phoenix -p 80 -t 3600 -f admin@phoenix.com -s 60 -o nova -r n 
	-d server-root/proxy-serverid/config

其中

使用網際網路快取協定 (ICP)

網際網路快取協定 (ICP) 是物件位置協定,它可以讓快取彼此進行通訊。快取可以使用 ICP 來傳送有關快取 URL 是否存在,以及擷取這些 URL 最佳位置的查詢與回覆。在典型的 ICP 交換中,一個快取會將有關特定 URL 的 ICP 查詢傳送給所有相鄰的快取。接著,那些快取會傳回 ICP 回覆,指出它們是否包含該 URL。若它們不包含該 URL,則會傳回 [MISS]。若包含該 URL,則會傳回 [HIT]。

透過 ICP 鄰近區域路由

ICP 可用來讓位於不同管理網域中的代理伺服器進行通訊。它可讓位於不同管理網域中的代理伺服器快取相互通訊。對於數個代理伺服器需要進行通訊,但無法從一部主代理伺服器配置所有伺服器 (因為它們位於代理伺服器陣列中) 的情形而言,使用 ICP 是有效的。圖 12–3 顯示了不同管理網域中各代理伺服器之間的 ICP 交換。

透過 ICP 相互通訊的代理伺服器稱為芳鄰。ICP 鄰近區域中的芳鄰不能超過 64 個。ICP 鄰近區域中的兩種芳鄰類型分別是 父系芳鄰同層芳鄰。如果沒有其他芳鄰具有請求的 URL,則只有父系芳鄰可存取遠端伺服器。 您的 ICP 鄰近區域可以沒有任何父系芳鄰,也可以有一個以上的父系芳鄰。ICP 鄰近區域中的任何芳鄰如果不是父系芳鄰,就會被視為同層芳鄰。同層芳鄰無法擷取遠端伺服器中的文件,除非同層芳鄰被標示為 ICP 的預設路由,且 ICP 使用預設值。

您可以使用輪詢循環來決定芳鄰接收查詢的順序。輪詢循環就是 ICP 查詢循環。您必須為每個芳鄰指定輪詢循環。若將所有芳鄰配置於輪詢循環一,則會同時在一個循環中查詢所有芳鄰。若將某些芳鄰配置於輪詢循環 2,則會先查詢輪詢循環 1 中的所有芳鄰,如果都沒有傳回「符合項目」,則會查詢循環 2 中的所有代理伺服器。輪詢循環的最大值是二。

因為 ICP 父系芳鄰可能會成為網路瓶頸,您可以使用輪詢循環來減輕其負載。常見的設定方式是將所有同層芳鄰配置在輪詢循環 1,並將所有父系芳鄰配置在輪詢循環 2。如此一來,若本機代理伺服器請求 URL,該請求會先傳送至鄰近區域中的所有同層芳鄰。若沒有任何同層芳鄰具有請求的 URL,則請求會傳送至父系芳鄰。若父系芳鄰沒有該 URL,則會從遠端伺服器擷取。

ICP 鄰近區域中的每個芳鄰必須至少有一個執行中的 ICP 伺服器。若芳鄰沒有執行任何 ICP 伺服器,則無法回覆來自芳鄰的 ICP 請求。啟用代理伺服器上的 ICP 時會啟動 ICP 伺服器 (若 ICP 尚未執行)。

圖 12–3 ICP 交換

顯示不同管理網域中各代理伺服器間的 ICP 交換的圖表。

設定 ICP

本小節提供有關設定 ICP 的詳細資訊。設定 ICP 的一般步驟如下:

  1. (可選) 將父系增加到您的 ICP 鄰近區域。

    如需更多資訊,請參閱將父系或同層代理伺服器增加到 ICP 鄰近區域

  2. 將同層芳鄰增加到您的 ICP 鄰近區域。

    如需更多資訊,請參閱將父系或同層代理伺服器增加到 ICP 鄰近區域

  3. 配置 ICP 鄰近區域中的每個芳鄰。

    如需更多資訊,請參閱編輯 ICP 鄰近區域的配置

  4. 啟用 ICP。

    如需更多資訊,請參閱啟用 ICP

  5. 若您的代理伺服器在其 ICP 鄰近區域中具有同層芳鄰或父系芳鄰,請啟用透過 ICP 鄰近區域路由的功能。

    如需更多資訊,請參閱啟用透過 ICP 鄰近區域路由

Procedure將父系或同層代理伺服器增加到 ICP 鄰近區域

  1. 存取 Server Manager,然後按一下 [Caching] 標籤。

  2. 按一下 [Configure ICP] 連結。

    此時會顯示 [Configure ICP] 頁面。

  3. 在該頁面的 [Parent List] 區段,按一下 [Add] 按鈕。

    此時會顯示 [ICP Parent] 頁面。

    • 若要增加父系代理伺服器,請按一下該頁面上 [Parent List] 區段中的 [Add]。

      此時會顯示 [ICP Parent] 頁面。

    • 若要增加同層代理伺服器,請按一下該頁面上 [Sibling List] 區段中的 [Add]。

      此時會顯示 [ICP Sibling] 頁面。

  4. 在 [Machine Address] 欄位中,鍵入要增加到 ICP 鄰近區域之代理伺服器的 IP 位址或主機名稱。

  5. 在 [ICP Port] 欄位中,鍵入代理伺服器將用來偵聽 ICP 訊息的連接埠號。

  6. (可選) 在 [Multicast Address] 欄位中,鍵入父系要偵聽的多重播送位址。多重播送位址是可讓多部伺服器偵聽的 IP 位址。

    使用多重播送位址後,代理伺服器就能將一個查詢,傳送到偵聽該多重播送位址之所有芳鄰都能查看的網路中。如此一來,就不需要將查詢分別傳送至每個芳鄰。使用多重播送是選擇性的。


    備註 –

    不同輪詢循環中的芳鄰不應該偵聽相同的多重播送位址。


  7. 在 [TTL] 欄位中,將多重播送訊息轉寄至的子網路數目。

    若將 TTL 設定為 1,就只能將多重播送訊息轉寄到本機子網路。若將 TTL 設定為 2,就會將訊息轉寄到相差一個層級的所有子網路,依此類推。


    備註 –

    多重播送可讓兩個不相關的芳鄰彼此傳送 ICP 訊息。因此,為避免不相關的芳鄰接收來自您的 ICP 鄰近區域中代理伺服器的 ICP 訊息,請在 [TTL] 欄位中設定較低的 TTL 值。


  8. 在 [Proxy Port] 欄位中,鍵入父系代理伺服器的連接埠。

  9. 從 [Polling Round] 下拉式清單中,選擇您希望父系代理伺服器位於哪個輪詢循環。預設的輪詢循環是 1。

  10. 按一下 [OK]。

  11. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  12. 按一下 [Restart Proxy Server] 按鈕以套用變更。

Procedure編輯 ICP 鄰近區域的配置

  1. 存取 Server Manager,然後按一下 [Caching] 標籤。

  2. 選取 [Configure ICP] 連結。此時會顯示 [Configure ICP] 頁面。

  3. 選取您要編輯之代理伺服器旁的單選按鈕。

  4. 按一下 [Edit] 按鈕。

  5. 視需要修改資訊。

  6. 按一下 [OK]。

  7. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  8. 按一下 [Restart Proxy Server] 按鈕以套用變更

Procedure移除 ICP 鄰近區域中的代理伺服器

  1. 存取 Server Manager,然後按一下 [Caching] 標籤。

  2. 選取 [Configure ICP] 連結。此時會顯示 [Configure ICP] 頁面。

  3. 選取您要移除之代理伺服器旁的單選按鈕。

  4. 按一下 [Delete] 按鈕。

  5. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  6. 按一下 [Restart Proxy Server] 按鈕以套用變更

Procedure配置 ICP 鄰近區域中的本機代理伺服器

您必須配置 ICP 鄰近區域中的每個芳鄰 (或本機代理伺服器)。

  1. 存取 Server Manager,然後按一下 [Caching] 標籤。

  2. 選取 [Configure ICP] 連結。

    此時會顯示 [Configure ICP] 頁面。

  3. 在 [Binding Address] 欄位中,鍵入芳鄰伺服器將連結的 IP 位址。

  4. 在 [Port] 欄位中,鍵入芳鄰伺服器將用來偵聽 ICP 的連接埠號。

  5. 在 [Multicast Address] 欄位中,鍵入芳鄰要偵聽的多重播送位址。

    多重播送位址是可讓多部伺服器偵聽的 IP 位址。使用多重播送位址後,代理伺服器就能將一個查詢,傳送到偵聽該多重播送位址之所有芳鄰都能查看的網路中。如此一來,就不需要將查詢分別傳送至每個芳鄰。

    若同時為芳鄰指定多重播送位址與連結位址,芳鄰會使用連結位址來傳送回覆,並使用多重播送位址來偵聽。若未指定連結位址也未決定多重播送位址,作業系統會決定要使用哪個位址來傳送資料。

  6. 在 [Default Route] 欄位中鍵入的代理伺服器名稱或 IP 位址,屬於鄰近代理伺服器的回應都沒有符合項目時,芳鄰應將請求路由至的目標代理伺服器。

    若在此欄位中鍵入「origin」,或將此欄位保留為空白,預設路由就會是原始伺服器。

    若從 [No Hit Behavior] 下拉式清單中選擇 [first responding parent],您在 [Default Route] 欄位中鍵入的路由將不會有作用。只有在選擇預設的「無符合項目」運作方式時,代理伺服器才會使用此路由。

  7. 在第二個 [Port] 欄位中,鍵入您在 [Default Route] 欄位鍵入之預設路由機器的連接埠號。

  8. 從 [On No Hits, Route Through] 下拉式清單中選擇當 ICP 鄰近區域內所有同層芳鄰的快取內都沒有請求的 URL 時芳鄰所要採取的運作方式。

    可用選項如下:

    • first responding parent。芳鄰將透過第一個以 [miss] 回應的父系芳鄰擷取請求的 URL。

    • default route。芳鄰將透過 [Default Route] 欄位中指定的機器來擷取請求的 URL。

  9. 在 [Server Count] 欄位中,鍵入將用來服務 ICP 請求的程序數目。

  10. 在 [Timeout] 欄位中,鍵入芳鄰將在每個循環中等待 ICP 回應的最長時間。

  11. 按一下 [OK]。

  12. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  13. 按一下 [Restart Proxy Server] 按鈕以套用變更

Procedure啟用 ICP

  1. 存取 Server Manager,然後按一下 [Preferences] 標籤。

  2. 按一下 [Configure System Preferences] 連結。

    此時會顯示 [Configure System Preferences] 頁面。

  3. 選取 ICP 的 [Yes] 單選按鈕,然後按一下 [OK]。

  4. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  5. 按一下 [Restart Proxy Server] 按鈕以套用變更

Procedure啟用透過 ICP 鄰近區域路由

只有當代理伺服器在 ICP 鄰近區域中有其他同層芳鄰或父系芳鄰時,才需要啟用透過 ICP 鄰近區域路由。若代理伺服器是其他代理伺服器的父系,且沒有自己的同層芳鄰或父系芳鄰,則只需要為該代理伺服器啟用 ICP。不需要啟用透過 ICP 鄰近區域路由。

  1. 存取 Server Manager,然後按一下 [Routing] 標籤。

  2. 按一下 [Set Routing Preferences] 連結。

    此時會顯示 [Set Routing Preferences] 頁面。

  3. 從下拉式清單中選取資源,或按一下 [Regular Expression] 按鈕,然後鍵入常規表示式並按一下 [OK]。

  4. 選取 [Route Through] 選項旁的單選按鈕。

  5. 選取 ICP 旁的核取方塊。

  6. (可選) 若要讓用戶端直接從具有此文件的 ICP 芳鄰擷取文件,而不是透過其他芳鄰取得該文件,請選取 [Text Redirect] 選項旁的核取方塊。

  7. 按一下 [OK]。


    注意 – 注意 –

    目前沒有用戶端支援重新導向,因此現在請不要使用此功能。


  8. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  9. 按一下 [Restart Proxy Server] 按鈕以套用變更

使用代理伺服器陣列

分散式快取的代理伺服器陣列,可讓多部代理伺服器的運作方式如同單一快取。陣列中的每部代理伺服器將會包含不同的快取 URL,這些 URL 可以由瀏覽器或下游代理伺服器擷取。代理伺服器陣列可避免多部代理伺服器常有的快取重複問題。透過基於雜湊的路由,代理伺服器陣列可將請求路由至代理伺服器陣列中正確的快取。

代理伺服器陣列也提供增量延展性功能。如果決定將另一個代理伺服器增加到您的代理伺服器陣列,每個成員的快取並不會失效。在每個成員的快取中,只有 1/n 的 URL 會重新指定給其他成員,其中 n 是陣列中代理伺服器的數目。

透過代理伺服器陣列路由

對於每個透過代理伺服器陣列的請求,雜湊函數會為陣列中的每個代理伺服器指定一個分數,此分數是以所請求的 URL、代理伺服器名稱與代理伺服器的負載因子為依據。以後請求就會路由至分數最高的代理伺服器。

因為 URL 請求可能來自用戶端與代理伺服器,所以透過代理伺服器陣列的路由有兩種類型:用戶端至代理伺服器路由與代理伺服器至代理伺服器路由。

在用戶端至代理伺服器路由中,用戶端會使用代理伺服器自動配置 (PAC) 機制來決定應該通過哪部代理伺服器。然而,用戶端不是使用標準的 PAC 檔案,而是使用一種計算雜湊演算法的特殊 PAC 檔案,以決定所請求之 URL 的適當路由。圖 12–4 顯示了用戶端至代理伺服器路由。在這張圖中,代理伺服器陣列的每個成員會載入並輪詢主代理伺服器,以判斷 PAT 檔案是否有更新。一旦用戶端擁有 PAC 檔案,如果配置變更,用戶端只要再次下載此檔案即可。一般而言,用戶端將會在重新啟動時下載 PAC 檔案。

代理伺服器可透過使用管理介面決定的「代理伺服器陣列成員身分表格 (PAT)」規格來自動產生特殊的 PAC 檔案。

圖 12–4 用戶端至代理伺服器路由

顯示用戶端至代理伺服器路由的圖表。

在代理伺服器至代理伺服器路由中,代理伺服器會使用 PAT (代理伺服器陣列表格) 檔案 (而非用戶端所使用的 PAC 檔案) 來計算雜湊演算法。PAT 檔案是 ASCII 檔案,它包含代理伺服器陣列的相關資訊,包括代理伺服器的機器名稱、IP 位址、連接埠、負載因子與快取大小等。在伺服器計算雜湊演算法時,使用 PAT 檔案比使用 PAC 檔案 (必須在執行階段解譯的 JavaScript 檔案) 有效率得多。然而,大部分用戶端無法識別 PAT 檔案格式,因此必須使用 PAC 檔案。圖 12–5 顯示了代理伺服器至代理伺服器路由。

PAT 檔案是在代理伺服器陣列中的主代理伺服器建立。代理伺服器管理員必須決定要使用哪部代理伺服器做為主代理伺服器。管理員可以從這一部主代理伺服器變更 PAT 檔案。以後代理伺服器陣列的所有其他成員,就可以手動或自動輪詢主代理伺服器以取得這些變更。您可以將每個成員配置為自動根據這些變更產生 PAC 檔案。

您也可以將代理伺服器陣列鏈接在一起,以進行階層式路由。若某部代理伺服器透過上游代理伺服器陣列以路由內送請求,則該上游代理伺服器陣列即稱為父系陣列。換句話說,若用戶端向代理伺服器 X 請求文件,且代理伺服器 X 沒有該文件,它會將請求傳送到代理伺服器陣列 Y,而非將請求直接傳送到遠端伺服器。因此代理伺服器陣列 Y 是父系陣列。

圖 12–5 中,代理伺服器陣列 1 是代理伺服器陣列 2 的父系陣列。代理伺服器陣列 2 的成員會載入並進行輪詢,以確定父系代理伺服器陣列的 PAT 檔案是否有更新。通常,該成員會輪詢父系陣列中的主代理伺服器。所請求 URL 的雜湊演算法,要以所下載的 PAT 檔案來計算。接著,代理伺服器陣列 2 中的成員會從代理伺服器陣列 1 中最高分數的代理伺服器,擷取所請求的 URL。在這張圖中,對於用戶端所請求的 URL,代理伺服器 B 具有最高的分數。

圖 12–5 代理伺服器至代理伺服器路由

顯示代理伺服器至代理伺服器路由的圖表。

設定代理伺服器陣列的一般步驟如下所示。

從主代理伺服器執行下列步驟:

  1. 建立代理伺服器陣列。

    如需有關建立成員清單的更多資訊,請參閱建立代理伺服器陣列成員清單

  2. 從您的 PAT 檔案產生 PAC 檔案。

    只有在使用用戶端至代理伺服器路由時,才需要產生 PAC 檔案。如需更多資訊,請參閱使用 PAT 檔案產生 PAC 檔案

  3. 配置陣列的主成員。如需更多資訊,請參閱配置代理伺服器陣列成員

  4. 啟用透過代理伺服器陣列路由。如需更多資訊,請參閱啟用透過代理伺服器陣列路由

  5. 建立 PAT 對映,將 URL /pat 對映到 PAT 檔案。

  6. 啟用您的代理伺服器陣列。

    如需更多資訊,請參閱啟用或停用代理伺服器陣列

從每個非主代理伺服器執行下列步驟:

  1. 配置陣列的非主成員。

    如需更多資訊,請參閱配置代理伺服器陣列成員

  2. 啟用透過代理伺服器陣列路由。

    如需更多資訊,請參閱啟用透過代理伺服器陣列路由

  3. 啟用您的代理伺服器陣列。

    如需更多資訊,請參閱啟用或停用代理伺服器陣列


    備註 –

    若代理伺服器陣列將透過父系陣列路由,則還必須啟用該父系陣列,並配置每個成員透過父系陣列路由來取得所需的 URL。如需更多資訊,請參閱透過父系陣列路由


建立代理伺服器陣列成員清單

您應該只從陣列的主代理伺服器,來建立與更新代理伺服器陣列成員清單。您只需要建立代理伺服器陣列成員清單一次,但可隨時修改。建立代理伺服器陣列成員清單時會產生 PAT 檔案,可將此檔案分發給陣列中的所有代理伺服器以及所有下游代理伺服器。


備註 –

若要對代理伺服器陣列成員清單進行變更或增加,只能透過陣列中的主代理伺服器來執行。陣列中的所有其他成員只能讀取成員清單。


Procedure建立代理伺服器陣列成員清單

  1. 存取 Server Manager,然後按一下 [Caching] 標籤。

  2. 按一下 [Configure Proxy Array] 連結。

    此時會顯示 [Configure Proxy Array] 頁面。

  3. 在 [Array name] 欄位中,鍵入陣列的名稱。

  4. 在 [Reload Configuration Every] 欄位中,鍵入每次針對 PAT 檔案進行輪詢的相隔分鐘數。

  5. 按一下 [Array Enabled] 核取方塊。

  6. 按一下 [Create] 按鈕。

    建立代理伺服器陣列之後,[Create] 按鈕會變更為 [OK] 按鈕。


    備註 –

    開始增加成員到成員清單之前,請務必按一下 [OK]。


  7. 按一下 [OK]。

  8. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  9. 為代理伺服器陣列中的每個成員提供下列資訊,然後按一下 [OK]。

    必須先增加主成員,才能增加其他成員。

    • Name。您要增加到成員清單之代理伺服器的名稱

    • IP Address。您要增加到成員清單之代理伺服器的 IP 位址

    • Port。此為成員用來輪詢 PAT 檔案的連接埠。

    • Load Factor。此整數表示應透過此成員進行路由的相關負載。

    • Status。成員的狀態。此值可以是 [on] 或 [off]。若停用某個代理伺服器陣列成員,將會透過其他成員重新路由該成員的請求。


    備註 –

    為要增加的每個代理伺服器陣列成員鍵入資訊之後,請務必按一下 [OK]。


  10. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  11. 按一下 [Restart Proxy Server] 按鈕以套用變更

編輯代理伺服器陣列成員清單資訊

您可以隨時變更代理伺服器陣列成員清單中的成員資訊。您只能從主代理伺服器編輯代理伺服器陣列成員清單。


備註 –

若要對代理伺服器陣列成員清單進行變更或增加,只能透過陣列中的主代理伺服器來執行。若從陣列中的其他成員修改此清單,所有變更都會遺失。


Procedure編輯成員清單資訊

  1. 存取 Server Manager,然後按一下 [Caching] 標籤。

  2. 按一下 [Configure Proxy Array] 連結。

    此時會顯示 [Configure Proxy Array] 頁面。

  3. 在 [Member List] 中,選取您要編輯之成員旁的單選按鈕。

  4. 按一下 [Edit] 按鈕。

    此時會顯示 [Configure Proxy Array Member] 頁面。

  5. 編輯相關資訊。

  6. 按一下 [OK]。

  7. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  8. 按一下 [Restart Proxy Server] 按鈕以套用變更。


    備註 –

    若要讓變更生效並將變更分發給代理伺服器陣列中的成員,請更新 [Configure Proxy Array] 頁面上的 [Configuration ID],然後按一下 [OK]。若要更新配置 ID,只需將 ID 加 1 即可。


刪除代理伺服器陣列成員

刪除代理伺服器陣列成員會將它們從代理伺服器陣列移除。您只能從主代理伺服器刪除代理伺服器陣列成員。

Procedure刪除代理伺服器陣列成員

  1. 存取 Server Manager,然後按一下 [Caching] 標籤。

  2. 按一下 [Configure Proxy Array] 連結。

    此時會顯示 [Configure Proxy Array] 頁面。

  3. 在 [Member List] 中,選取您要刪除之成員旁的單選按鈕。

  4. 按一下 [Delete] 按鈕。


    備註 –

    若要讓變更生效並將變更分發給代理伺服器陣列中的成員,請更新 [Configure Proxy Array] 頁面上的 [Configuration ID],然後按一下 [OK]。若要更新配置 ID,只需將 ID 加 1 即可。


  5. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  6. 按一下 [Restart Proxy Server] 按鈕以套用變更

配置代理伺服器陣列成員

只需對代理伺服器陣列中的每個成員進行一次配置,且必須從成員本身進行配置。無法從其他成員處配置。還必須配置主代理伺服器。

Procedure配置代理伺服器陣列的每個成員

  1. 存取 Server Manager,然後按一下 [Caching] 標籤。

  2. 按一下 [Configure Proxy Array Member] 連結。

    此時會顯示 [Configure Proxy Array Member] 頁面。

  3. 在 [Proxy Array] 區段,選取適當的單選按鈕以指定成員是否需要針對 PAT 檔案進行輪詢。

    • Non-Master Member。若您要配置的成員不是主代理伺服器,請選取此選項。主代理伺服器以外的所有代理伺服器陣列成員都必須針對 PAT 檔案進行輪詢,以便從主代理伺服器擷取該檔案。

    • Master Member。若您要配置主代理伺服器,請選取此選項。若您要配置主代理伺服器,PAT 檔案將位於本機,因此不需要輪詢。

  4. 在 [Poll Host] 欄位中,鍵入要向其輪詢 PAT 檔案的主代理伺服器名稱。

  5. 在 [Port] 欄位中,鍵入主代理伺服器用來接受 HTTP 請求的連接埠。

  6. 在 [URL] 欄位中,鍵入主代理伺服器上之 PAT 檔案的 URL。若已在主代理伺服器上建立 PAT 對映,以將 PAT 檔案對映到 URL /pat,則應該在 [URL] 欄位中鍵入 /pat

  7. (可選) 在 [Headers File] 欄位中,鍵入檔案的完整路徑,此檔案包含必須與 PAT 檔案的 HTTP 請求一起傳送的所有特殊標頭,例如認證資訊。

  8. 按一下 [OK]。

  9. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  10. 按一下 [Restart Proxy Server] 按鈕以套用變更

啟用透過代理伺服器陣列路由

Procedure啟用透過代理伺服器陣列路由

  1. 存取 Server Manager,然後按一下 [Routing] 標籤。

  2. 按一下 [Set Routing Preferences] 連結。

    此時會顯示 [Set Routing Preferences] 頁面。

  3. 從下拉式清單中選取資源,或按一下 [Regular Expression] 按鈕,然後鍵入常規表示式並按一下 [OK]。

  4. 選取 [Route Through] 選項。

  5. 選取代理伺服器陣列或父系陣列的核取方塊。

    只有在配置的代理伺服器是代理伺服器陣列的成員時,才能啟用代理伺服器陣列路由。只有當父系陣列存在時,才能啟用父系路由。上述兩個路由選項彼此獨立。

  6. 若選擇透過代理伺服器陣列路由,且想要將請求重新導向到另一個 URL,請選取 [Redirect] 核取方塊。

    重新導向表示若代理伺服器陣列的某個成員收到不應由它服務的請求,則會告知用戶端應連絡哪部代理伺服器來處理該請求。

  7. 按一下 [OK]。

  8. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  9. 按一下 [Restart Proxy Server] 按鈕以套用變更。

啟用或停用代理伺服器陣列

若不是透過代理伺服器陣列進行路由,則停用代理伺服器陣列選項之前,應先確定所有用戶端都使用特殊 PAC 檔案以使路由正確。若停用父系陣列選項,則應該在 [Set Routing Preferences] 頁面上設定有效的替代路由選項,例如明確的代理伺服器或直接連線。

Procedure啟用或停用代理伺服器陣列

  1. 存取 Server Manager,然後按一下 [Preferences] 標籤。

  2. 按一下 [Configure System Preferences] 連結。

    此時會顯示 [Configure System Preferences] 頁面。

  3. 啟用或停用代理伺服器陣列。

    • 若要啟用代理伺服器陣列,請按一下要啟用之陣列類型或特定陣列的 [Yes] 選項:一般代理伺服器陣列或父系陣列。

    • 若要停用代理伺服器陣列,請按一下 [No]。

  4. 按一下 [OK]。

  5. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  6. 按一下 [Restart Proxy Server] 按鈕以套用變更。

重新導向代理伺服器陣列中的請求

若選擇透過代理伺服器陣列路由,則必須指定是否要將請求重新導向到另一個 URL。重新導向表示若代理伺服器陣列的某個成員收到不應由它服務的請求,則會告知用戶端應連絡哪部代理伺服器來處理該請求。

使用 PAT 檔案產生 PAC 檔案

因為大多數用戶端都無法識別 PAT 檔案格式,所以用戶端至代理伺服器路由中的用戶端會使用代理伺服器自動配置 (PAC) 機制來接收有關應該通過哪個代理伺服器的資訊。然而,用戶端不會使用標準的 PAC 檔案,而是使用源自 PAT 檔案的特殊 PAC 檔案。這個特殊 PAC 檔案會計算雜湊演算法,以決定所請求之 URL 的適當路由。

您可以從 PAT 檔案手動或自動產生 PAC 檔案。若從代理伺服器陣列的特定成員處手動產生 PAC 檔案,該成員將會根據目前 PAT 檔案中的資訊立即重新產生 PAC 檔案。若將代理伺服器陣列成員配置為自動產生 PAC 檔案,則成員在每次偵測到 PAT 檔案有修改版本時,就會自動重新產生檔案。


備註 –

若您沒有使用代理伺服器的代理伺服器陣列功能,請使用 [Create/Edit Autoconfiguration File] 頁面來產生 PAC 檔案。如需更多資訊,請參閱第 17 章使用用戶端自動配置檔案


Procedure使用 PAT 檔案手動產生 PAC 檔案

PAC 檔案只能從主代理伺服器產生。

  1. 存取主代理伺服器的 Server Manager,然後按一下 [Caching] 標籤。

  2. 按一下 [Configure Proxy Array] 連結。

    此時會顯示 [Configure Proxy Array] 頁面。

  3. 按一下 [Generate PAC] 按鈕。

    此時會顯示 [PAC Generation] 頁面。

  4. 若要在 PAC 檔案中使用自訂邏輯,請在 [Custom logic file] 欄位中鍵入包含自訂邏輯 (要在 PAC 檔案產生程序執行期間加入的邏輯) 之檔案的名稱。

    此邏輯會插入 FindProxyForURL 函數中,代理伺服器陣列選取邏輯之前。此函數通常用於不需要通過代理伺服器陣列的本機請求。

    若已在配置代理伺服器陣列成員時提供自訂邏輯檔案,此欄位會自動寫入該資訊。您可以在此編輯自訂邏輯檔案名稱。

  5. 在 [Default Route] 欄位中,鍵入陣列中的代理伺服器無法使用時,用戶端應採用的路由。

    若已在配置代理伺服器陣列成員時提供預設路由,此欄位會自動寫入該資訊。您可以在此編輯預設路由。

  6. 按一下 [OK]。

  7. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  8. 按一下 [Restart Proxy Server] 按鈕以套用變更。

Procedure自動產生 PAC 檔案

  1. 存取 Server Manager,然後按一下 [Caching] 標籤。

  2. 按一下 [Configure Proxy Array Member] 連結。

    此時會顯示 [Configure Proxy Array Member] 頁面。

  3. 選取 [Auto-generate PAC File] 核取方塊。

  4. 若要在 PAC 檔案中使用自訂邏輯,請在 [Custom Logic File] 欄位中鍵入包含您想要在 PAC 檔案產生時加入之自訂邏輯的檔案名稱。

    將此邏輯插入 FindProxyFor URL 函數中代理伺服器陣列選取邏輯之前。

    若已在配置代理伺服器陣列時提供並儲存自訂邏輯檔案,此欄位會自動寫入該資訊。您可以在此編輯自訂邏輯檔案名稱。

  5. 在 [Default Route] 欄位中,鍵入陣列中的代理伺服器無法使用時,用戶端應採用的路由。

    若已在配置代理伺服器陣列時提供預設路由,此欄位會自動寫入該資訊。您可以編輯預設路由。

  6. 按一下 [OK]。

  7. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  8. 按一下 [Restart Proxy Server] 按鈕以套用變更。

透過父系陣列路由

您可以將代理伺服器或代理伺服器陣列成員配置為透過上游父系陣列路由,而非直接連線到遠端伺服器。

Procedure透過父系陣列路由

  1. 啟用父系陣列。

    如需更多資訊,請參閱啟用或停用代理伺服器陣列

  2. 啟用透過父系陣列路由。

    如需更多資訊,請參閱啟用透過代理伺服器陣列路由

  3. 存取 Server Manager,然後按一下 [Caching] 標籤。

  4. 按一下 [Configure Proxy Array Member] 連結。

    此時會顯示 [Configure Proxy Array Member] 頁面。

  5. 在頁面中 [Parent Array] 區段的 [Poll Host] 欄位裡,鍵入父系陣列中代理伺服器的主機名稱,以便針對 PAT 檔案進行輪詢。

    此代理伺服器通常是該父系陣列的主代理伺服器。

  6. 在頁面中 [Parent Array] 區段的 [Port] 欄位,鍵入要針對 PAT 檔案進行輪詢的父系陣列中代理伺服器的連接埠號。

  7. 在 [URL] 欄位中,鍵入主代理伺服器上之 PAT 檔案的 URL。

    若已在主代理伺服器上建立 PAT 對映,請在 [URL] 欄位中鍵入該對映。

  8. (可選) 在表單上 [Parent Array] 區段的 [Headers File] 欄位中,鍵入檔案的完整路徑,此檔案包含必須與 PAT 檔案的 HTTP 請求一起傳送的所有特殊標頭,例如認證資訊。

    此欄位是選擇性的。

  9. 按一下 [OK]。

  10. 按一下 [Restart Required]。

    此時會顯示 [Apply Changes] 頁面。

  11. 按一下 [Restart Proxy Server] 按鈕以套用變更。

檢視父系陣列資訊

若您的代理伺服器陣列是透過父系陣列進行路由,則需要父系陣列成員的相關資訊。 父系陣列會以 PAT 檔案形式傳送此資訊。

Procedure檢視父系陣列資訊

  1. 存取 Server Manager,然後按一下 [Caching] 標籤。

  2. 按一下 [View Parent Array Configuration] 連結。

    此時會顯示 [View Parent Array Configuration] 頁面。

  3. 檢視該資訊。