基本 Caching Proxy 配置

Caching Proxy 可以配置在反向 Caching Proxy 伺服器(預設配置)或轉遞 Caching Proxy 伺服器的角色中。 當由內容主機來使用時,Caching Proxy 是配置在反向 Caching Proxy 伺服器的角色中,且位在網際網路和企業內容主機之間。 當由網際網路存取提供者來使用時,Caching Proxy 是配置在轉遞 Caching Proxy 伺服器的角色中,且位在用戶端和網際網路之間。

反向 Caching Proxy(預設配置)

當使用反向 Proxy 配置時,Caching Proxy 機器是位在網際網路和企業內容主機之間。 作為代理伺服器,Proxy 伺服器會截取來自網際網路的使用者要求、將它們轉遞到適當的內容主機、快取傳回的資料,然後跨越網際網路,將該資料遞送給使用者。 快取能使 Caching Proxy 滿足直接來自快取之相同內容的後續要求,速度遠較從內容主機重新擷取快了許多。 資訊可以依資訊到期時間、快取應有的大小,以及應更新資訊的時機來進行快取。 快取命中的下載時間越短,對客戶的服務品質就越好。 圖 1 描述這個基本 Caching Proxy 功能。

圖 1. 作為反向 Proxy 的 Caching Proxy
此圖描述基本反向 Proxy 配置
圖註:1—用戶端   2—網際網路   3—路由器/閘道   4—Caching Proxy   5—快取   6—內容主機

在這個配置中,Proxy 伺服器 (4) 會截取其 URL 中含有內容主機之主機名稱 (6) 的要求。 當用戶端 (1) 要求 X 檔時,要求會穿越網際網路 (2),並透過企業的網際網路閘道 (3) 進入企業的內部網路。 Proxy 伺服器會截取要求,以它自己的 IP 位址作為原始位址來產生新的要求,然後將新的要求傳給內容主機 (6)。

內容主機會將 X 檔傳回給 Proxy 伺服器,而不是直接傳回給一般使用者。 如果檔案可以快取,Caching Proxy 會先將副本儲存在它的快取 (5) 中,然後才將它傳給一般使用者。 可快取內容的最佳範例是靜態網頁;不過,Caching Proxy 也可以快取由 WebSphere® Application Server 動態產生的內容及為其提供服務。

轉遞 Caching Proxy

提供一般使用者直接的網際網路存取,效率可能會很差。 每個從 Web 伺服器提取給定檔案的使用者,通過網際網路閘道在您的網路中產生的資料流量,與提取檔案的第一個使用者產生的資料流量相等,即使檔案不曾變更也是如此。 解決方案是在閘道附近,安裝一個轉遞 Caching Proxy。

當使用轉遞 Proxy 配置時,Caching Proxy 機器是位在用戶端和網際網路之間。 Caching Proxy 會跨越網際網路,將用戶端的要求轉遞給位在另一端的內容主機、快取擷取的資料,然後將擷取的資料遞送給用戶端。

圖 2. 作為轉遞 Proxy 的 Caching Proxy
此圖描述基本轉遞 Proxy 配置

圖 2 描述轉遞 Caching Proxy 配置。 用戶端的瀏覽器程式(在標示 1 的機器上)會配置成將要求引導到轉遞 Caching Proxy (2),而這個 Proxy 則會配置成截取要求。 當一般使用者要求儲存在內容主機 (6) 的 X 檔時,轉遞 Caching Proxy 會截取要求,以它自己的 IP 位址作為原始位址來產生新的要求,然後利用企業的路由器 (4) 並跨越網際網路 (5) 來送出新的要求。

在這個方式之下,原始伺服器會將 X 檔傳回給轉遞 Caching Proxy,而不是直接傳回給一般使用者。 如果啟用了轉遞 Caching Proxy 的快取特性,Caching Proxy 會檢查 X 檔傳回標頭中的設定,例如到期日及檔案是否動態產生的指示,以判斷 X 檔是否適合快取。 如果檔案可以快取,Caching Proxy 會先將副本儲存在它的快取 (3) 中,然後才將它傳給一般使用者。 依預設,會啟用快取,且轉遞 Caching Proxy 會使用記憶體快取;不過,您也可以配置其他類型的快取。

對於 X 檔的第一個要求,轉遞 Caching Proxy 並不會大幅改進網際網路存取的效率。 更確切地說,對第一個存取 X 檔的使用者而言,回應時間可能比沒有轉遞 Caching Proxy 還慢,因為轉遞 Caching Proxy 收到要求時,需要多花一些時間來處理原始要求封包,以及檢查 X 檔標頭中的可快取性資訊。 當其他使用者後續要求 X 檔時,使用轉遞 Caching Proxy 就會產生好處。轉遞 Caching Proxy 會檢查其快取的 X 檔副本是否仍有效(未過期),如果有效就會直接從快取中提供 X 檔,而不會跨越網際網路將要求轉遞給內容主機。

甚至在轉遞 Caching Proxy 發現要求的檔案已過期時,它也不必然需要從內容主機重新提取檔案。 相反地,它會將特殊狀態檢查訊息傳給內容主機。 如果內容主機指出檔案沒有變更,轉遞 Caching Proxy 仍可以將快取的版本遞送給發出要求的使用者。

依照這個方式來配置轉遞 Caching Proxy 稱為轉遞 Proxy,因為 Caching Proxy 是代表瀏覽器,透過網際網路,將瀏覽器的要求轉遞給內容主機。 具有快取功能的轉遞 Proxy 有兩方面的好處:

Caching Proxy 可以處理若干網路傳送通訊協定,其中包括 HTTP(超文字傳送通訊協定)、FTP(檔案傳送通訊協定)和 Gopher。

透通轉遞 Caching Proxy(只限 Linux 系統)

透通 Caching Proxy 是轉遞 Caching Proxy 的一種變化。 在這個角色中,Caching Proxy 會執行與基本轉遞 Caching Proxy 相同的功能,但在它扮演這個角色時,用戶端並不知道它的存在。 只有在 Linux 系統上支援透通 Caching Proxy 配置。

轉遞 Caching Proxy所說明的配置中,每個用戶端瀏覽器都會個別配置成將要求引導到特定轉遞 Caching Proxy。 維護這類配置可能會造成不便,當有大量用戶端機器時,尤其如此。 Caching Proxy 支援若干能夠簡化管理的替代方案。 可能的方案之一,是依照圖 3 所描述,將 Caching Proxy 配置成透通 Proxy。 如同一般轉遞 Caching Proxy,透通 Caching Proxy 也是安裝在靠近閘道的機器上,但用戶端瀏覽器程式並未配置成將要求引導到轉遞 Caching Proxy。 用戶端並不知道 Proxy 在配置之中。 相反地,路由器則會配置成截取用戶端要求,然後將它們引導到透通 Caching Proxy。 當在其中一部標示 1 之機器上運作的用戶端,要求儲存於內容主機 (6) 的 X 檔時,路由器 (2) 會將要求傳給 Caching Proxy。 Caching Proxy 會以它自己的 IP 位址作為原始位址來產生新的要求,然後利用路由器 (2) 並跨越網際網路 (5) 來送出新的要求。 當 X 檔到達時,Caching Proxy 會適時快取檔案(遵循轉遞 Caching Proxy所說明的條件),然後將檔案傳給發出要求的用戶端。

圖 3. 作為透通轉遞 Proxy 的 Caching Proxy
此圖描述基本轉遞 Proxy 配置

對於 HTTP 要求而言,另一個維護每個瀏覽器之 Proxy 配置資訊的可能替代方案,是使用若干瀏覽器程式中所提供的自動 Proxy 配置特性,其中包括 Netscape Navigator 2.0 版和更新的版本,以及 Microsoft Internet Explorer 4.0 版和更新的版本。 在此情況下,您會建立一或多個中央 Proxy 自動配置 (PAC) 檔,然後配置瀏覽器來參照其中一個檔案,而不是參照本端 Proxy 配置資訊。 瀏覽器會自動注意到 PAC 的變更,並相應地調整其 Proxy 使用情形。 如此一來,不但減低維護每個瀏覽器之個別配置資訊的需求,當 Proxy 伺服器無法使用時,也會更容易重新遞送要求。

第三個替代方案是使用部分瀏覽器程式中所提供的「Web Proxy 自動探索 (WPAD)」機制,例如 Internet Explorer 5.0 版和更新的版本。 當您在瀏覽器上啟用這個特性時,它會在其網路中自動尋找符合 WPAD 標準的 Proxy 伺服器,將它的 Web 要求引導到這部 Proxy 伺服器。 在此情況下,您不需要維護中央 Proxy 配置檔。 Caching Proxy 符合 WPAD 標準。