Sun Java System Web Proxy Server 4.0.8 管理指南

使用代理服务器阵列

可以通过分布式高速缓存的代理服务器阵列将多个代理服务器作为一个高速缓存来使用。阵列中的每个代理服务器都将包含不同的高速缓存 URL,浏览器或下游代理服务器可以检索这些 URL。代理服务器阵列可以防止有多个代理服务器时经常发生的高速缓存重复。代理服务器阵列通过基于散列的路由选择将请求路由到代理服务器阵列中正确的高速缓存中。

代理服务器阵列也允许增量式可伸缩性。如果决定将另一个代理服务器添加到代理服务器阵列,每个成员的高速缓存都不会失效。只会将每个成员的高速缓存中 URL 的 1/n(其中 n 是阵列中的代理服务器数)重新指定给其他成员。

通过代理服务器阵列进行路由选择

对于通过代理服务器阵列的每个请求,散列函数将根据请求的 URL、代理服务器的名称及代理服务器的负载因子为阵列中的每个代理服务器指定一个分数,然后将请求路由到分数最高的代理服务器。

因为 URL 请求可能来自客户机和代理服务器,所以通过代理服务器阵列进行的路由选择有两种类型:客户机到代理服务器路由选择和代理服务器到代理服务器路由选择。

在客户机到代理服务器路由选择中,客户机使用代理自动配置 (Proxy Auto Configuration, PAC) 机制确定要通过哪个代理服务器。不过,客户机不是使用标准的 PAC 文件,而是使用一种特殊的 PAC 文件来计算散列算法,以便为请求的 URL 确定合适的路由。图 12–4 显示了客户机到代理服务器的路由选择。在此图中,代理服务器阵列的每个成员均加载并轮询主代理服务器,以确定是否有对 PAT 文件的更新。客户机一旦下载了 PAC 文件,则只有在配置发生变化时才需要再次下载该文件。客户机通常在重新启动时下载 PAC 文件。

代理服务器可以根据您使用管理界面确定的代理服务器阵列成员资格表 (Proxy Array Membership Table, PAT) 规范自动生成特殊 PAC 文件。

图 12–4 客户机到代理服务器路由选择

该图显示了客户机到代理服务器路由选择。

在代理服务器到代理服务器路由选择中,代理服务器使用 PAT(Proxy Array Table,代理服务器阵列表)文件而不是客户机使用的 PAC 文件来计算散列算法。PAT 文件是一种 ASCII 文件,它包含有关代理服务器阵列的信息,如代理服务器的机器名称、IP 地址、端口、负载因子、高速缓存大小等。要在服务器上计算散列算法,使用 PAT 文件比使用 PAC 文件(该文件是一种 JavaScript 文件,必须在运行时对其进行解释)要高效得多。不过,大多数客户机无法识别 PAT 文件格式,因此必须使用 PAC 文件。图 12–5 显示了代理服务器到代理服务器路由选择。

PAT 文件是在代理服务器阵列中的主代理服务器上创建的。代理服务器管理员必须确定将哪一个代理服务器作为主代理服务器。管理员可以通过此主代理服务器更改 PAT 文件,之后代理服务器阵列的所有其他成员可以手动或自动方式轮询主代理服务器来获悉这些更改。您可以将每个成员都配置为根据这些更改自动生成 PAC 文件。

也可以将代理服务器阵列链接在一起,进行分层结构路由选择。如果代理服务器通过上游代理服务器阵列路由传入的请求,则该上游代理服务器阵列被称为父阵列。也就是说,如果客户机从代理服务器 X 请求文档,而代理服务器 X 没有该文档,它将把请求发送给代理服务器阵列 Y,而不是直接将请求发送到远程服务器。因此,代理服务器阵列 Y 是父阵列。

图 12–5 中,代理服务器阵列 1 是代理服务器阵列 2 的父阵列。代理服务器阵列 2 的成员会加载并进行轮询,以确定是否有对父阵列 PAT 文件的更新。通常,该成员轮询父阵列中的主代理服务器。将使用下载的 PAT 文件计算请求的 URL 的散列算法,之后代理服务器阵列 2 的成员就可以从代理服务器阵列 1 中分数最高的代理服务器中检索请求的 URL。在此图中,对于客户机请求的 URL,代理服务器 B 的分数最高。

图 12–5 代理服务器到代理服务器路由选择

该图显示了代理服务器到代理服务器路由选择。

设置代理服务器阵列的常规步骤如下所示。

从主代理服务器中,执行以下步骤:

  1. 创建代理服务器阵列。

    有关创建成员列表的更多信息,请参见创建代理服务器阵列成员列表

  2. 根据 PAT 文件生成 PAC 文件。

    如果使用客户机到代理服务器路由选择,只需生成 PAC 文件。有关更多信息,请参见根据 PAT 文件生成 PAC 文件

  3. 配置阵列的主成员。有关更多信息,请参见配置代理服务器阵列成员

  4. 启用通过代理服务器阵列进行路由选择。有关更多信息,请参见启用通过代理服务器阵列进行路由选择

  5. 创建 PAT 映射以将 URL /pat 映射到 PAT 文件。

  6. 启用代理服务器阵列。

    有关更多信息,请参见启用或禁用代理服务器阵列

从每个非主代理服务器中,执行以下步骤:

  1. 配置阵列的非主成员。

    有关更多信息,请参见配置代理服务器阵列成员

  2. 启用通过代理服务器阵列进行路由选择。

    有关更多信息,请参见启用通过代理服务器阵列进行路由选择

  3. 启用代理服务器阵列。

    有关更多信息,请参见启用或禁用代理服务器阵列


    注 –

    如果代理服务器阵列要通过父阵列进行路由,则还需要启用父阵列并将每个成员配置为通过父阵列进行路由以获得所需的 URL。有关更多信息,请参见通过父阵列进行路由选择


创建代理服务器阵列成员列表

只应在阵列的主代理服务器中创建和更新代理服务器阵列成员列表。代理服务器阵列成员列表只需创建一次,但可以随时对其进行修改。通过创建代理服务器阵列成员列表,将生成分布到阵列中的所有代理服务器及任何下游代理服务器的 PAT 文件。


注 –

只应通过阵列中的主代理服务器对代理服务器阵列成员列表进行更改或添加。阵列的所有其他成员只能读取成员列表。


Procedure创建代理服务器阵列成员列表

  1. 访问 Server Manager,然后单击 "Caching" 选项卡。

  2. 单击 "Configure Proxy Array" 链接。

    将会显示 "Configure Proxy Array" 页面。

  3. 在 "Array name" 字段中,键入阵列的名称。

  4. 在 "Reload Configuration Every" 字段中,键入针对 PAT 文件执行轮询的时间间隔(以分钟为单位)。

  5. 单击 "Array Enabled" 复选框。

  6. 单击 "Create" 按钮。

    创建代理服务器阵列后,"Create" 按钮将更改为 "OK" 按钮。


    注 –

    一定要在开始向成员列表中添加成员之前单击 "OK"。


  7. 单击 "OK"。

  8. 单击 "Restart required"。

    将会显示 "Apply Changes" 页面。

  9. 为代理服务器阵列中的每个成员提供以下信息,然后单击 "OK"。

    应先添加主成员,然后再添加其他成员。

    • Name。要添加到成员列表的代理服务器的名称。

    • IP Address。要添加到成员列表的代理服务器的 IP 地址。

    • Port。此为成员针对 PAT 文件进行轮询时所使用的端口。

    • Load Factor。一个整数,它反映应该通过成员进行路由的相对负载。

    • Status。成员的状态。此值可以为 "on" 或 "off"。如果禁用某个代理服务器阵列成员,将会通过其他成员重新路由该成员的请求。


    注 –

    键入要添加的每个代理服务器阵列成员的信息之后,一定要单击 "OK"。


  10. 单击 "Restart required"。

    将会显示 "Apply Changes" 页面。

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

编辑代理服务器阵列成员列表信息

可以随时更改代理服务器阵列成员列表中各成员的信息。只能通过主代理服务器编辑代理服务器阵列成员列表。


注 –

只应通过阵列中的主代理服务器对代理服务器阵列成员列表进行更改或添加。如果通过阵列的任何其他成员修改此列表,所有更改都将丢失。


Procedure编辑成员列表信息

  1. 访问 Server Manager,然后单击 "Caching" 选项卡。

  2. 单击 "Configure Proxy Array" 链接。

    将会显示 "Configure Proxy Array" 页面。

  3. 在 "Member List" 中,选中要编辑的成员旁边的单选按钮。

  4. 单击 "Edit" 按钮。

    将会显示 "Configure Proxy Array Member" 页面。

  5. 编辑相应的信息。

  6. 单击 "OK"。

  7. 单击 "Restart required"。

    将会显示 "Apply Changes" 页面。

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


    注 –

    如果想使更改生效并将其分布到代理服务器阵列的各个成员,请更新 "Configure Proxy Array" 页面上的配置 ID,然后单击 "OK"。要更新配置 ID,只需将其值增加一即可。


删除代理服务器阵列成员

删除代理服务器阵列成员时,会将它们从代理服务器阵列中删除。只能通过主代理服务器删除代理服务器阵列成员。

Procedure删除代理服务器阵列的成员

  1. 访问 Server Manager,然后单击 "Caching" 选项卡。

  2. 单击 "Configure Proxy Array" 链接。

    将会显示 "Configure Proxy Array" 页面。

  3. 在 "Member List" 中,选中要删除的成员旁边的单选按钮。

  4. 单击 "Delete" 按钮。


    注 –

    如果想使更改生效并将其分布到代理服务器阵列的各个成员,请更新 "Configure Proxy Array" 页面上的配置 ID,然后单击 "OK"。要更新配置 ID,只需将其值增加一即可。


  5. 单击 "Restart required"。

    将会显示 "Apply Changes" 页面。

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

配置代理服务器阵列成员

必须通过代理服务器阵列中的每个成员本身配置该成员一次。不能通过阵列的某个成员配置另一个成员。还需要配置主代理服务器。

Procedure配置代理服务器阵列的每个成员

  1. 访问 Server Manager,然后单击 "Caching" 选项卡。

  2. 单击 "Configure Proxy Array Member" 链接。

    将会显示 "Configure Proxy Array Member" 页面。

  3. 在 "Proxy Array" 部分中,通过选中相应的单选按钮指示成员是否需要针对 PAT 文件进行轮询。

    • Non-Master Member。如果您配置的成员不是主代理服务器,请选择此选项。任何不是主代理服务器的代理服务器阵列成员都必须针对 PAT 文件执行轮询,以便从主代理服务器检索该文件。

    • Master Member。如果配置的是主代理服务器,请选择此选项。如果配置的是主代理服务器,PAT 文件将是本地文件,不需要进行轮询。

  4. 在 "Poll Host" 字段中,键入将要针对 PAT 文件进行轮询的主代理服务器的名称。

  5. 在 "Port" 字段中,键入主代理服务器接受 HTTP 请求的端口。

  6. 在 "URL" 字段中,键入主代理服务器上 PAT 文件的 URL。如果您已经在主代理服务器上创建了一个 PAT 映射,要将该 PAT 文件映射到 URL /pat,应在 "URL" 字段中键入 /pat

  7. (可选)在 "Headers File" 字段中,键入含有任何特殊标头的文件的完整路径名,这些标头必须与 PAT 文件的 HTTP 请求(如验证信息)一起发送。

  8. 单击 "OK"。

  9. 单击 "Restart required"。

    将会显示 "Apply Changes" 页面。

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

启用通过代理服务器阵列进行路由选择

Procedure启用通过代理服务器阵列进行路由选择

  1. 访问 Server Manager,然后单击 "Routing" 选项卡。

  2. 单击 "Set Routing Preferences" 链接。

    将会显示 "Set Routing Preferences" 页面。

  3. 从下拉式列表中选择资源,或单击 "Regular Expression" 按钮,键入正则表达式,然后单击 "OK"。

  4. 选择 "Route Through" 选项。

  5. 选中代理服务器阵列或父阵列的复选框。

    只有当要配置的代理服务器是代理服务器阵列的成员时,才可以启用代理服务器阵列路由选择。如果存在父阵列,则只能启用父阵列路由选择。这两个路由选择选项相互独立。

  6. 如果选择通过代理服务器阵列进行路由,并且要将请求重定向到其他 URL,请选中 "redirect" 复选框。

    重定向是指如果代理服务器阵列的成员收到不应由其处理的请求,它会告知客户机与哪个代理服务器联系以处理该请求。

  7. 单击 "OK"。

  8. 单击 "Restart required"。

    将会显示 "Apply Changes" 页面。

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

启用或禁用代理服务器阵列

如果不通过代理服务器阵列进行路由选择,则在禁用代理服务器阵列选项前应确保所有客户机都使用特殊的 PAC 文件正确地进行路由。如果您禁用了父阵列选项,则应在 "Set Routing Preferences" 页面中设置有效的替代路由选择选项,如显式代理服务器或直接连接。

Procedure启用或禁用代理服务器阵列

  1. 访问 Server Manager,然后单击 "Preferences" 选项卡。

  2. 单击 "Configure System Preferences" 链接。

    将会显示 "Configure System Preferences" 页面。

  3. 启用或禁用代理服务器阵列。

    • 要启用代理服务器阵列,请单击与要启用的阵列(普通代理服务器阵列或父阵列)类型对应的 "Yes" 选项。

    • 要禁用代理服务器阵列,请单击 "No"。

  4. 单击 "OK"。

  5. 单击 "Restart required"。

    将会显示 "Apply Changes" 页面。

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

重定向代理服务器阵列中的请求

如果选择通过代理服务器阵列进行路由,则需要指定是否要将请求重定向到另一个 URL。重定向是指如果代理服务器阵列的成员收到不应由其处理的请求,它会告知客户机与哪个代理服务器联系以处理该请求。

根据 PAT 文件生成 PAC 文件

因为大多数客户机无法识别 PAT 文件格式,所以在客户机到代理服务器路由选择中,客户机使用代理自动配置 (Proxy Auto Configuration, PAC) 机制接收有关要通过哪个代理服务器的信息。不过,客户机使用的不是标准的 PAC 文件,而是源自 PAT 文件的一种特殊的 PAC 文件。这种特殊的 PAC 文件通过计算散列算法来为请求的 URL 确定合适的路由。

可以根据 PAT 文件手动或自动生成 PAC 文件。如果通过代理服务器阵列的某个特定成员手动生成 PAC 文件,该成员将立即根据 PAT 文件中的当前信息重新生成 PAC 文件。如果您将某个代理服务器阵列成员配置为自动生成 PAC 文件,则该成员将在每次检测到 PAT 文件的修改版本后自动重新生成该文件。


注 –

如果您没有为代理服务器使用代理服务器阵列功能,请使用 "Create/Edit Autoconfiguration File" 页面生成 PAC 文件。有关更多信息,请参见第 17 章


Procedure根据 PAT 文件手动生成 PAC 文件

只能通过主代理服务器生成 PAC 文件。

  1. 访问主代理服务器的 Server Manager,然后单击 "Caching" 选项卡。

  2. 单击 "Configure Proxy Array" 链接。

    将会显示 "Configure Proxy Array" 页面。

  3. 单击 "Generate PAC" 按钮。

    将会显示 "PAC Generation" 页面。

  4. 如果要在 PAC 文件中使用自定义逻辑,请在 "Custom logic file" 字段中键入文件名称,该文件包含要在生成 PAC 文件时包括的自定义逻辑。

    将把此逻辑插入到 FindProxyForURL 函数中的代理服务器阵列选择逻辑前。此函数通常用于不需要通过代理服务器阵列的本地请求。

    如果您已在配置代理服务器阵列成员时提供了该自定义逻辑文件,将会用该信息填充此字段。您可以在这里编辑自定义逻辑文件名。

  5. 在 "Default Route" 字段中,键入当阵列中的代理服务器不可用时客户机应采用的路由。

    如果您已在配置代理服务器阵列成员时提供了默认路由,将会用该信息填充此字段。您可以在这里编辑默认路由。

  6. 单击 "OK"。

  7. 单击 "Restart required"。

    将会显示 "Apply Changes" 页面。

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

Procedure自动生成 PAC 文件

  1. 访问 Server Manager,然后单击 "Caching" 选项卡。

  2. 单击 "Configure Proxy Array Member" 链接。

    将会显示 "Configure Proxy Array Member" 页面。

  3. 选中 "Auto-generate PAC File" 复选框。

  4. 如果要在 PAC 文件中使用自定义逻辑,请在 "Custom Logic File" 字段中键入文件名称,该文件包含要在生成 PAC 文件时包括的自定义逻辑。

    将把此逻辑插入到 FindProxyForURL 函数中的代理服务器阵列选择逻辑前。

    如果您已在配置代理服务器阵列时提供并保存了该自定义逻辑文件,将会用该信息填充此字段。您可以在这里编辑自定义逻辑文件名。

  5. 在 "Default Route" 字段中,键入当阵列中的代理服务器不可用时客户机应采用的路由。

    如果您已在配置代理服务器阵列时提供了默认路由,将会用该信息填充此字段。您可以编辑默认路由。

  6. 单击 "OK"。

  7. 单击 "Restart required"。

    将会显示 "Apply Changes" 页面。

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

通过父阵列进行路由选择

可以将代理服务器或代理服务器阵列成员配置为通过上游父阵列进行路由,而不是直接转至远程服务器。

Procedure通过父阵列进行路由选择

  1. 启用父阵列。

    有关更多信息,请参见启用或禁用代理服务器阵列

  2. 启用通过父阵列进行路由选择。

    有关更多信息,请参见启用通过代理服务器阵列进行路由选择

  3. 访问 Server Manager,然后单击 "Caching" 选项卡。

  4. 单击 "Configure Proxy Array Member" 链接。

    将会显示 "Configure Proxy Array Member" 页面。

  5. 在该页面的 "Parent Array" 部分的 "Poll Host" 字段中,键入父阵列中将针对 PAT 文件对其进行轮询的代理服务器的主机名。

    此代理服务器通常是父阵列的主代理服务器。

  6. 在该页面的 "Parent Array" 部分的 "Port" 字段中,键入父阵列中将针对 PAT 文件对其进行轮询的代理服务器的端口号。

  7. 在 "URL" 字段中,键入主代理服务器上 PAT 文件的 URL。

    如果您已在主代理服务器中创建了 PAT 映射,请在此 "URL" 字段中键入该映射。

  8. (可选)在该表单的 "Parent Array" 部分的 "Headers File" 字段中,键入含有任何特殊标头的文件的完整路径名,这些标头必须与 PAT 文件的 HTTP 请求(如验证信息)一起发送。

    该字段为可选字段。

  9. 单击 "OK"。

  10. 单击 "Restart required"。

    将会显示 "Apply Changes" 页面。

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

查看父阵列信息

如果代理服务器阵列要通过父阵列进行路由选择,则需要有关该父阵列的成员的信息。此信息以 PAT 文件形式从父阵列发出。

Procedure查看父阵列信息

  1. 访问 Server Manager,然后单击 "Caching" 选项卡。

  2. 单击 "View Parent Array Configuration" 链接。

    将会显示 "View Parent Array Configuration" 页面。

  3. 查看信息。