Sun Java System Web Proxy Server 4.0.1 管理指南 |
第 13 章
透過代理伺服器篩選內容本章描述如何篩選 URL,使您的代理伺服器或是禁止存取 URL,或是修改其傳回用戶端的 HTML 和 JavaScript 內容。本章還解釋如何根據用戶端正在使用的 Web 瀏覽器 (使用者代理程式) 透過代理伺服器來限定存取。
代理伺服器可讓您使用 URL 篩選檔案來確定伺服器支援哪些 URL。例如,您可以建立或購買包含要限定之 URL 的文字檔案,而無需手動鍵入要支援的 URL 萬用字元式樣。此功能可讓您建立一個 URL 檔案,您可在許多不同的代理伺服器上使用它。
您也可以根據 URL 的 MIME 類型來篩選 URL。例如,可以允許代理伺服器快取並傳送 HTML 和 GIF 檔案,但不讓它取得二進制或可執行檔,因為這樣可能會招致電腦病毒的風險。
本章包含下列小節:
篩選 URL您可使用 URL 檔案來配置代理伺服器所擷取的內容。可以建立一份代理伺服器始終支援的 URL 之清單,以及一份代理伺服器始終都不支援的 URL 之清單。
例如,如果您是網際網路服務提供者,所執行的代理伺服器提供適合兒童閱讀的內容,則可以建立一份准許兒童檢視的 URL 之清單。然後,可讓代理伺服器只擷取核准的 URL,如果用戶端嘗試前往不支援的 URL,則或是讓代理伺服器傳回預設的「Forbidden」訊息,或是建立自訂訊息,解釋為何用戶端無法存取此 URL。
若要根據 URL 限定存取,您必須建立要允許或限定的 URL 之檔案。可透過 Server Manager 執行此作業。建立好檔案之後,即可設定限制條件。後面的小節將描述這些程序。
建立 URL 的篩選檔案
篩選檔案是包含 URL 清單的檔案。代理伺服器使用的篩選檔案是純文字檔,其 URL 行的式樣如下:
protocol://host:port/path/filename
可以在以下三個區段中分別使用常規表示式:protocol、host:port 與 path/filename。例如,如果您想要為通往 netscape.com 網域的所有通訊協定建立一個 URL 式樣,應在檔案中增加以下一行:
.*://.*\.example\.com/.*
只有當您未指定連接埠號時,此行才起作用。如需有關常規表示式的更多資訊,請參閱管理範本和資源中的「瞭解常規表示式」。
如果您要在不使用 Server Manager 的情況下建立自己的檔案,則應使用 [Server Manager] 頁面來建立一個空檔案,然後將您的文字內容增加至此檔案中,或是將此檔案替代成包含常規表示式的檔案。
建立篩選檔案
- 存取 Server Manager,然後按一下 [Filters] 標籤。
- 按一下 [Restrict URL Filter Access] 連結。將顯示 [Restrict URL Filter Access] 頁面。
- 從 [Create/Edit] 按鈕旁的下拉式清單中選擇 [New Filter]。
- 在下拉式清單右側的文字方塊中鍵入篩選檔案的名稱,然後按一下 [Create/Edit] 按鈕。將顯示 [Filter Editor] 頁面。
- 使用 [Filter Content] 可捲動文字方塊輸入 URL 和 URL 的常規表示式。[Reset] 按鈕可清除此欄位中的所有文字。
如需有關常規表示式的更多資訊,請參閱管理範本和資源中的「瞭解常規表示式」。
- 按一下 [OK]。
代理伺服器會建立檔案,並讓您返回 [Restrict URL Filter Access] 頁面。篩選檔案建立於 proxy-serverid/conf_bk 目錄下。
設定篩選檔案的預設存取
一旦有了包含您想要使用的 URL 的篩選檔案,即可設定這些 URL 的預設存取。
設定篩選檔案的預設存取
- 存取 Server Manager,然後按一下 [Filters] 標籤。
- 按一下 [Restrict URL Filter Access] 連結。將顯示 [Restrict URL Filter Access] 頁面。
- 選擇想要用於篩選器的範本。
通常,您會想為整個代理伺服器建立篩選檔案,但也可以為 HTTP 建立一組篩選檔案,再為 FTP 建立另一組篩選檔案。
- 使用 [URL Filter To Allow] 清單來選擇篩選檔案,其中包含您希望代理伺服器支援的 URL。
- 使用 [URL Filter To Deny] 清單來選擇篩選檔案,其中包含您希望代理伺服器拒絕存取的 URL。
- 選擇您希望代理伺服器在用戶端請求拒絕的 URL 時傳回用戶端的文字內容。可以選擇下列兩個選項之一:
- 按一下 [OK]。
- 按一下 [Restart Required]。將顯示 [Apply Changes] 頁面。
- 按一下 [Restart Proxy Server] 按鈕以套用變更。
內容 URL 重寫Proxy Server 4 可以檢查傳回用戶端的內容並以其他字串替代式樣 (如 URL)。可以配置的參數有兩個 ─ 來源字串和目標字串。Proxy Server 會尋找與來源字串相符的文字,並以目標字串中的文字加以替代。此功能僅可在反向代理模式下使用。
建立 URL 重寫式樣
- 存取 Server Manager,然後按一下 [Filters] 標籤。
- 按一下 [Set Content URL Rewriting] 連結。將顯示 [Set Content URL Rewriting] 頁面。
- 從下拉式清單中選取一個資源,或指定常規表示式。如需有關常規表示式的更多資訊,請參閱管理範本和資源中的「瞭解常規表示式」。
- 在 [Source Pattern] 文字方塊中指定來源字串。
- 在 [Destination Pattern] 文字方塊中指定目標字串。
- 在 [MIME Pattern] 文字方塊中指定內容類型。
- 按一下 [OK]。
- 按一下 [Restart Required]。將顯示 [Apply Changes] 頁面。
- 按一下 [Restart Proxy Server] 按鈕以套用變更。
編輯 URL 重寫式樣
刪除 URL 重寫式樣
限定特定 Web 瀏覽器的存取可根據用戶端 Web 瀏覽器的類型和版本來限定對代理伺服器的存取。根據所有 Web 瀏覽器在發出請求時傳送至伺服器的 user-agent 標頭進行限制。
根據用戶端 Web 瀏覽器來限定對代理伺服器的存取
- 存取 Server Manager,然後按一下 [Filters] 標籤。
- 按一下 [Set User-Agent Restriction] 連結。將顯示 [Set User-Agent Restriction] 頁面。
- 從下拉式清單中選取資源,或是鍵入與想要 Proxy Server 支援的瀏覽器的 user-agent 字串相符的常規表示式。如果您要指定一個以上的用戶端,請將常規表示式以括號括住,並使用 | 字元分隔多個項目。如需有關常規表示式的更多資訊,請參閱管理範本和資源中的「瞭解常規表示式」。
- 核取 [Allow Only User-Agents Matching] 選項。
- 按一下 [OK]。
- 按一下 [Restart Required]。將顯示 [Apply Changes] 頁面。
- 按一下 [Restart Proxy Server] 按鈕以套用變更。
封鎖請求您可能要根據上傳內容類型來封鎖檔案的上傳以及其他請求。
根據 MIME 類型封鎖請求
- 存取 Server Manager,然後按一下 [Filters] 標籤。
- 按一下 [Set Request Blocking] 連結。將顯示 [Set Request Blocking] 頁面。
- 從下拉式清單中選取資源,或按一下 [Regular Expression] 按鈕,輸入常規表示式並按一下 [OK]。
- 按一下所需請求封鎖類型對應的單選按鈕。選項如下:
- [Disabled] ─ 停用請求封鎖功能
- [Multipart MIME (File Upload)] ─ 封鎖所有檔案的上傳
- [MIME Types Matching Regular Expression] ─ 封鎖符合所輸入之常規表示式的 MIME 類型請求。如需有關常規表示式的更多資訊,請參閱管理範本和資源中的「瞭解常規表示式」。
- 選擇是要封鎖所有用戶端的請求,還是封鎖符合您輸入之常規表示式的使用者代理程式請求。
- 按一下想要封鎖其請求的方法對應的單選按鈕。選項包括:
- 按一下 [OK]。
- 按一下 [Restart Required]。將顯示 [Apply Changes] 頁面。
- 按一下 [Restart Proxy Server] 按鈕以套用變更。
隱藏外送標頭可透過配置代理伺服器,使其從請求移除外送標頭 (通常是基於安全性原因)。例如,您可能想要防止傳出 [From] 標頭,因為它會透露使用者的電子郵件位址,或者您可能想要篩選掉 user-agent 標頭,讓外部伺服器無法判斷您的組織所使用的 Web 瀏覽器。在請求被轉寄至網際網路之前,您也可能想要移除只用於公司內部網路中的記錄或與用戶端相關的標頭。
此功能不會影響由代理伺服器本身特殊處理或產生的標頭,也不會影響讓通訊協定正常作業所必備的標頭 (例如 If-Modified-Since 和 Forwarded)。
雖然您無法阻止轉寄標頭自代理而產生,但這不屬於安全問題。遠端伺服器可根據連線偵測出正在進行連線的代理主機。在代理鏈接中,可由外部代理伺服器隱藏來自內部代理伺服器的轉寄標頭。當您不希望將內部代理伺服器或用戶端主機名稱透露給遠端伺服器時,建議您以這種方式設定您的伺服器。
隱藏外送標頭
- 存取 Server Manager,然後按一下 [Filters] 標籤。
- 按一下 [Suppress Outgoing Headers] 連結。將顯示 [Suppress Outgoing Headers] 頁面。
- 在 [Suppress Headers] 文字方塊中輸入一份想要隱藏的請求標頭清單,各標頭以逗號分隔。例如,若要隱藏 [From] 和 [User-Agent] 標頭,請輸入 from,user-agent。您輸入的標頭是不區分大小寫的。如需有關常規表示式的更多資訊,請參閱管理範本和資源中的「瞭解常規表示式」。
- 按一下 [Restart Required]。將顯示 [Apply Changes] 頁面。
- 按一下 [Restart Proxy Server] 按鈕以套用變更。
依 MIME 類型篩選您可將代理伺服器配置為封鎖與 MIME 類型相符的特定檔案。例如,您可透過設定代理伺服器,使其封鎖任何可執行檔或二進位檔案,這樣使用您的代理伺服器的任何用戶端都不會下載可能存在的電腦病毒。
如果需要代理伺服器支援新的 MIME 類型,請在 [Server Manager] 中選擇 [Preferences] > [Create/Edit MIME Types],然後增加類型。如需有關建立 MIME 類型的更多資訊,請參閱建立新的 MIME 類型。
您可將篩選 MIME 類型的方式與範本結合使用,這樣對於特定 URL 將只封鎖特定的 MIME 類型。例如,您可封鎖來自 .edu 網域內任何電腦的可執行檔。
依 MIME 類型篩選
- 存取 Server Manager,然後按一下 [Filters] 標籤。
- 按一下 [Set MIME Types] 連結。將顯示 [Set MIME Filters] 頁面。
- 選擇您要用來篩選 MIME 類型的範本,或確定您正在編輯整個伺服器。
- 在 [Current filter] 文字方塊中,您可輸入與要封鎖之 MIME 類型相符的常規表示式。
例如,若要篩選掉所有應用程式,您可鍵入 application/.* 做為常規表示式。這比針對每個應用程式類型來檢查每一 MIME 類型速度更快。常規表示式不區分大小寫。如需有關常規表示式的更多資訊,請參閱管理範本和資源中的「瞭解常規表示式」。
- 核取您要篩選的 MIME 類型。當用戶端嘗試存取被封鎖的檔案時,代理伺服器會傳回「403 Forbidden」訊息。
- 按一下 [OK]。
- 按一下 [Restart Required]。將顯示 [Apply Changes] 頁面。
- 按一下 [Restart Proxy Server] 按鈕以套用變更。
依 HTML 標記篩選代理伺服器可讓您指定要在將檔案傳至用戶端之前篩選掉的 HTML 標記。這樣可以篩選掉 HTML 檔案中內嵌的物件,例如 Java applets 和 JavaScript。若要篩選 HTML 標記,需指定開頭和結尾 HTML 標記。然後,代理伺服器會在將檔案傳送至用戶端之前,以空白替換那些標記中的所有文字和物件。
篩選掉 HTML 標記
- 存取 Server Manager,然後按一下 [Filters] 標籤。
- 按一下 [Set HTML Tag Filters] 連結。將顯示 [Set HTML Tag Filters] 頁面。
- 選擇您要修改的範本。您可以選擇 HTTP,或是選擇僅指定特定 URL (例如來自於 .edu 網域內主機之 URL) 的範本。
- 核取您要篩選的任何預設 HTML 標記對應的篩選器方塊。預設標記如下:
- 您可輸入想要篩選的任何 HTML 標記。鍵入開頭和結尾的 HTML 標記。
例如,若要篩選掉表單,可在 [Start Tag] 方塊中鍵入 FORM (HTML 標記不區分大小寫),在 [End Tag] 方塊中鍵入 /FORM。如果您要篩選的標記沒有結尾標記 (例如 OBJECT 和 IMG),則可讓 [End Tag] 方塊保留空白。
- 按一下 [OK]。
- 按一下 [Restart Required]。將顯示 [Apply Changes] 頁面。
- 按一下 [Restart Proxy Server] 按鈕以套用變更。
為內容壓縮配置伺服器Proxy Server 支援 HTTP 內容壓縮。透過內容壓縮,您可以加快對用戶端的傳送速度,還可以提高內容量,而不會增加硬體消耗。內容壓縮縮短了內容的下載時間,使需要撥號與高流量連線的使用者明顯受益。
透過內容壓縮,Proxy Server 可傳送經過壓縮的資料,並指導瀏覽器即時解壓縮資料,這樣便可減少資料傳送量,並加快頁面顯示速度。
將伺服器配置為依需要壓縮內容
您可將 Proxy Server 配置為即時地壓縮傳輸資料。動態產生的 HTML 頁面只有在使用者請求時才會出現。
將伺服器配置為依需要壓縮內容
- 存取 Server Manager,然後按一下 [Filters] 標籤。
- 按一下 [Compress Content on Demand] 連結。將顯示 [Compress Content on Demand] 頁面。
- 從下拉式清單中選取資源,或指定常規表示式。如需有關常規表示式的更多資訊,請參閱管理範本和資源中的「瞭解常規表示式」。
- 指定以下資訊:
- Activate Compress Content on Demand?選擇伺服器是否應該為選取的資源提供預先壓縮的內容。
- Vary Header。指定是否插入 Vary: Accept-encoding 標頭。選擇 yes 或 no。如果設定為 yes,則當選取經過壓縮的檔案版本時,總是會插入 Vary: Accept-encoding 標頭。
如果設定為 no,則永遠不會插入 Vary: Accept-encoding 標頭。
依預設,此值設定為 yes。
- Fragment Size。指定壓縮程式庫 (zlib) 用於控制每次壓縮內容量的記憶體分段大小 (以位元組為單位)。預設值為 8096。
- Compression Level。指定壓縮的層級。選擇 1 至 9 之間的值。數值為 1 時速度最快;數值為 9 時壓縮效果最佳。預設值為 6,在速度和壓縮效果上比較適中。
- 按一下 [OK]。
- 按一下 [Restart Required]。將顯示 [Apply Changes] 頁面。
- 按一下 [Restart Proxy Server] 按鈕以套用變更。