第 16 章
管理範本和資源
利用範本您可將多個 URL 分組在一起,以便能夠配置代理伺服器對它們的處理方式。依據用戶端所嘗試擷取的不同 URL,可以讓代理伺服器有不同的運作方式。例如,可以需要用戶端在存取特定網域的 URL 時進行認證 (鍵入使用者名稱和密碼)。或者,可以拒絕存取指向影像檔的 URL。可根據檔案類型配置不同的快取記憶體更新設定。
本章包含下列小節:
關於範本
範本是 URL 的集合,這些 URL 也稱為資源。資源可以是一個 URL、一組有某些共同點的 URL、或是整個協定。首先命名並建立範本,然後使用常規表示式將 URL 指定給範本。這就意味著您可以將代理伺服器配置為以不同的方式來處理不同 URL 的請求。範本中可以包含任何能使用常規表示式建立的 URL 式樣。表 16-1 列出預設的資源,並提供其他範本的一些概念。
表 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 列出常規表示式及其對應的涵義。
表 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,其中 y 必須出現在 x 之後。
|
x|y
|
比對常規表示式 x 或常規表示式 y。
|
^
|
比對字串開頭。
|
$
|
比對字串結尾。
|
(x)
|
將常規表示式分組。
|
此範例說明表 16-2 中一些常規表示式的用法。
[a-z]*://([^.:/]*[:/]|.*\.local\.com).*"
- [a-z]* 可比對到任何協定的文件。
- :// 比對跟有 (//) 的 (:)。
- [^.:/]*[:/] 比對不包括 (.)、(:) 或 (/) 且其後跟有 (:) 或 (/) 的任何字元字串。因此,它將比對到非完整合格的主機名稱和帶有連接埠號的主機。
- |.*\.local\.com 不比對 local.com 這樣的完全合格網域名稱的主機名稱,但比對 .local.com 網域中的文件。
- .*" 比對帶任何副檔名的文件。
|
備註
|
如表 16-2 中所述,反斜線可用於退出或移除特殊字元的涵義。句號和問號等字元都有特殊的涵義,因此當這類字元用來表示它們自己時,必須退出。特別是句號,它會在許多 URL 中出現。因此,若要移除常規表示式中句號的特殊涵義,必須在句號前面加上反斜線。
|
|
瞭解萬用字元式樣
可以建立萬用字元式樣的清單,用來指定可從您的站點存取哪些 URL。萬用字元可以是常規表示式格式,也可以是 shell 表示式格式,視具體用法而定。通常的規則是:
- 對比對目標 URL 的任何式樣使用常規表示式。這包括 <Object ppath=...>、URL 篩選器、NameTrans、PathCheck 和 ObjectType 函數。
- 對比對外來用戶端或使用者 ID 的任何式樣使用 shell 表示式,其中包括用於存取控制的使用者名稱和群組及外來使用者的 IP 位址或 DNS 名稱 (例如,<Client dns=...>)。
可以使用常規表示式式樣指定多個 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 資源,使與之相關聯的所有設定也隨之從代理伺服器的配置檔案中移除。
移除資源
- 存取 Server Manager,然後按一下 [Templates] 標籤。
- 按一下 [Remove Resource] 連結。將顯示 [Remove Resource] 頁面。
- 從 [Remove] 下拉式清單中,選取想要移除的資源。
- 按一下 [OK]。
- 按一下 [Restart Required]。將顯示 [Apply Changes] 頁面。
- 按一下 [Restart Proxy Server] 按鈕以套用變更。