您可以使用範本將 URL 組合在一起,如此即可配置代理伺服器對 URL 的處理方法。您可以讓代理伺服器根據用戶端嘗試擷取的 URL,而有不同的運作方式。例如,您可能要求用戶端在從特定網域存取 URL 時,必須鍵入使用者名稱及密碼進行認證。或者拒絕存取指向影像檔的 URL。您可以根據檔案類型來配置不同的快取更新設定。
本章包含下列小節:
範本是 URL (稱為資源) 的集合。資源可能為單一 URL、一組具有某些共同點的 URL 或整個協定。請先命名並建立範本,然後使用常規表示式來指定範本的 URL。以這種方式,您就可以配置代理伺服器以不同的方式來處理各種 URL 的請求。常規表示式可建立的任何 URL 式樣皆可放入範本中。下表列出預設的資源並提供關於其他範本的一些建議。
表 16–1 資源常規表示式萬用字元式樣
常規表示式式樣 |
配置的項目 |
---|---|
ftp://.* |
全部 FTP 請求 |
http://.* |
全部 HTTP 請求 |
https://.* |
全部安全的 HTTP 請求 |
gopher://.* |
全部 Gopher 請求 |
connect://.*:443 |
傳送至 HTTPS 連接埠的所有 SSL (安全) 作業事件。 |
http://home\.example\.com.* |
home.example.com 網站上的所有文件。 |
.*\.gif.* |
包含 .gif 字串的所有 URL |
.*\.edu.* |
包含 .edu 字串的所有 URL |
http://.*\.edu.* |
連線至 .edu 網域中某一台電腦的所有 URL |
Proxy Server 可讓您使用常規表示式來識別資源。常規表示式用來指定字元串式樣。在代理伺服器中,常規表示式可用來尋找 URL 中相符的式樣。
下列範例說明常規表示式:
[a-z]*://[^:/]*\.abc\.com.*
此常規表示式會比對 .abc.com 網域中的所有文件。這些文件可能使用任何協定,也可能有任何副檔名。
表 16–2 常規表示式及其涵義
表示式 |
涵義 |
---|---|
。 |
比對除換行以外的任何單一字元。 |
x? |
比對常規表示式 x 出現零次或一次的地方。 |
x* |
比對常規表示式 x 出現零次或多次的地方。 |
x+ |
比對常規表示式 x 出現一次或多次的地方。 |
x{n,m} |
比對字元 x,其中 x 至少出現 n 次,但不超過 m 次。 |
x{n,} |
比對字元 x,其中 x 至少出現 n 次。 |
x{n} |
比對字元 x,其中 x 剛好出現 n 次。 |
[abc] |
比對括號內的任何字元。 |
[^abc] |
比對不在括號內的任何字元。 |
[a-z] |
比對在括號範圍內的任何字元。 |
x |
比對字元 x,其中 x 不是特殊字元。 |
\x |
移除特殊字元 x 的涵義。 |
"x" |
移除特殊字元 x 的涵義。 |
xy |
比對出現常規表示式 x 且後面跟著出現常規表示式 y 的地方。 |
x|y |
比對常規表示式 x 或常規表示式 y。 |
^ |
比對字串的開頭。 |
$ |
比對字串的結尾。 |
(x) |
組合常規表示式。 |
此範例說明如何使用瞭解常規表示式中的某些常規表示式。
[a-z]*://([^.:/]*[:/]|.*\.local\.com).*
[a-z]* 會比對任何協定的文件。
:// 會比對一個 (:) 且後面跟著 (//)。
[^.:/]*[:/] 比對不包含 (.)、(:)或 (/) 的任何字串,但後面跟著一個 (:) 或一個 (/)。因此,這個表示式會比對不完全合格的主機名稱以及含有連接埠號的主機。
|.*\.local\.com 不會比對完全合格的網域名稱主機名稱,例如 local.com,但會比對 .local.com 網域中的文件。
.* 會比對具有任何副檔名的文件。
根據瞭解常規表示式的說明,可以使用反斜線來替換或修改特殊字元的涵義。句點和問號等字元有特殊的涵義,因此在用來代表本身時必須替換。尤其,許多 URL 中經常會出現句點。若要在常規表示式中修改句點的特殊涵義,則句點前必須加上反斜線。
您可以建立萬用字元式樣的清單,讓您指定從站點上可存取的 URL。根據用法而定,萬用字元的格式可以為常規表示式或 shell 表示式。一般規則:
對於任何比對目標 URL 的式樣,請使用常規表示式。包括 <Object ppath=...>、URL 篩選以及 NameTrans、PathCheck 和 ObjectType 函數。
對於任何比對內送用戶端或使用者 ID 的式樣,請使用 shell 表示式,包括存取控制的使用者名稱和群組以及外來使用者的 IP 位址或 DNS 名稱,例如 <Client dns=...>。
您可以使用常規表示式萬用字元式樣來指定數個 URL。萬用字元可讓您在 URL 中指定一個字來篩選網域名稱或任何 URL。例如,您可能想要禁止存取包含「careers」字串的 URL。要具體實作,您可指定 http://.*careers.* 做為範本的常規表示式。
您可以使用常規表示式萬用字元式樣來建立範本。接著可以配置僅影響此範本中指定之 URL 的設定。例如,您可以對 .GIF 影像採取某種快取配置,而對一般的 .html 檔案採取另一種配置。
存取 Server Manager,然後按一下 [Templates] 標籤。
按一下 [Create Template] 連結。螢幕上會顯示 [Create Template] 頁面。
在 [Template Name] 欄位中,鍵入您所建立的範本名稱,然後按一下 [OK]。
此名稱應當是容易記住的。Server Manager 會提示您儲存和套用變更。您可以在建立範本的常規表示式之後儲存變更,如餘下的步驟所述。
存取 Server Manager,然後按一下 [Templates] 標籤。
按一下 [Apply Template] 連結。
螢幕上會顯示 [Apply Template] 頁面。
在 [URL Prefix Wildcard] 欄位中鍵入常規表示式萬用字元式樣,其中包含您要納入範本中的所有 URL。
從 [Template] 清單中,選取您剛才增加的新範本的名稱。
按一下 [OK]。
按一下 [Restart Required]。
此時會顯示 [Apply Changes] 頁面。
按一下 [Restart Proxy Server] 按鈕以套用變更。
您可以移除現有範本。移除範本會刪除與範本相關聯的所有配置。例如,如果已在範本 TEST 中設定所有 URL 的存取控制,則移除 TEST 範本時也會移除此範本中所包含 URL 的存取控制。
存取 Server Manager,然後按一下 [Templates] 標籤。
按一下 [Remove Template] 連結。
螢幕上會顯示 [Remove Template] 頁面。
從 [Remove] 清單中選擇範本。
按一下 [OK]。
按一下 [Restart Required]。
此時會顯示 [Apply Changes] 頁面。
按一下 [Restart Proxy Server] 按鈕以套用變更。
您可以檢視及編輯在 Server Manager 中建立的範本。
存取 Server Manager,然後按一下 [Templates] 標籤。
按一下 [View Template] 連結。
螢幕上會顯示 [View Template] 頁面。範本會顯示在表格中,此表格會列出範本的常規表示式及範本名稱。
若要編輯現有範本,請按一下 [ Edit Template Assignment] 連結。螢幕上會顯示 [Apply Template] 頁面。
您可以在 [Remove Resource] 頁面中刪除整個常規表示式物件及其對應的配置。例如,您可以移除 gopher 資源,如此就可以從代理伺服器的配置檔案中移除與此資源相關聯的所有設定。