Sun Java System Web Proxy Server 4.0.8 管理指南

第 16 章 管理模板和资源

可以使用模板将 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 Web 站点上的所有文档

.*\.gif.*

包括字符串 .gif 的任何 URL

.*\.edu.*

包括字符串 .edu 的任何 URL

http://.*\.edu.*

转向 .edu 域中的计算机的任何 URL

了解正则表达式

Proxy Server 允许您使用正则表达式标识资源。正则表达式指定字符串的模式。在 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).*

了解正则表达式中所述,反斜杠可用于转义或去除特殊字符的含义。字符(如句点和问号)具有特殊含义,因此,如果使用它们表示其本身,必须进行转义。特别是,许多 URL 中都可以发现句点。因此,要在正则表达式中去除句点的特殊含义,需要在其前面加上一个反斜杠。

了解通配符模式

可以创建通配符模式的列表,从而允许您指定从您的站点可以访问的 URL。根据具体使用情况,通配符的格式可以为正则表达式或 shell 表达式。通常:

使用正则表达式通配符模式可以指定多个 URL。通配符使您可以根据 URL 中包含给定词的域名或任何 URL 进行过滤。例如,您可能需要屏蔽对包含字符串 "careers." 的 URL 的访问。为此,可以指定 http://.*careers.* 作为模板的正则表达式。

使用模板

Procedure创建模板

使用正则表达式通配符模式可以创建模板。然后,可以配置仅影响该模板中指定的 URL 的各个方面。例如,可以对 .GIF 图像使用一种类型的高速缓存配置,对纯 .html 文件使用另一种类型的高速缓存配置。

  1. 访问 Server Manager 并单击 "Templates" 选项卡。

    单击 "Create Template" 链接。此时将显示 "Create Template" 页面。

  2. 在 "Template Name" 字段中,键入要创建的模板的名称,然后单击 "OK"。

    该名称应易于记忆。Server Manager 将提示您保存并应用更改。在为模板创建正则表达式后,可以保存更改,如以下步骤中所述。

Procedure应用模板

  1. 访问 Server Manager 并单击 "Templates" 选项卡。

  2. 单击 "Apply Template" 链接。

    此时将显示 "Apply Template" 页面。

  3. 在 "URL Prefix Wildcard" 字段中,键入含有要包括在模板中的所有 URL 的正则表达式通配符模式。

  4. 从 "Template" 列表中,选择刚添加的新模板的名称。

  5. 单击 "OK"。

  6. 单击 "Restart required"。

    将会显示 "Apply Changes" 页面。

  7. 单击 "Restart Proxy Server" 按钮以应用更改。

Procedure删除模板

可以删除现有模板。删除模板将删除模板的所有关联配置。例如,如果对模板 TEST 中的所有 URL 设置了访问控制,删除 TEST 模板也将删除对该模板中包含的 URL 的访问控制。

  1. 访问 Server Manager 并单击 "Templates" 选项卡。

  2. 单击 "Remove Template" 链接。

    此时将显示 "Remove Template" 页面。

  3. 选择 "Remove" 列表中的模板。

  4. 单击 "OK"。

  5. 单击 "Restart required"。

    将会显示 "Apply Changes" 页面。

  6. 单击 "Restart Proxy Server" 按钮以应用更改。

Procedure编辑模板

可以查看并编辑 Server Manager 中创建的模板。

  1. 访问 Server Manager 并单击 "Templates" 选项卡。

  2. 单击 "View Template" 链接。

    此时将显示 "View Template" 页面。模板显示在列出了模板和模板名称的正则表达式的表中。

  3. 要编辑现有模板,请单击 "Edit Template Assignment" 链接。此时将显示 "Apply Template" 页面。

删除资源

使用 "Remove Resource" 页面可以删除整个正则表达式对象及其对应的配置。例如,可以删除 gopher 资源,这样与该资源关联的所有设置将被从代理服务器的配置文件中删除。

Procedure删除资源

  1. 访问 Server Manager 并单击 "Templates" 选项卡。

  2. 单击 "Remove Resource" 链接。

    此时将显示 "Remove Resource" 页面。

  3. 通过从 "Remove" 下拉列表中进行选择来选择要删除的资源。

  4. 单击 "OK"。

  5. 单击 "Restart required"。

    将会显示 "Apply Changes" 页面。

  6. 单击 "Restart Proxy Server" 按钮以应用更改。