Oracle iPlanet Web Proxy Server 4.0.14 Administration Guide

Routing Through Proxy Arrays

For each request through a proxy array, a hash function assigns each proxy in the array a score that is based on the requested URL, the proxy’s name and the proxy’s load factor. The request is then routed to the proxy with the highest score.

Since requests for URLs can come from both clients and proxies, there are two types of routing through proxy arrays: client-to-proxy routing and proxy-to-proxy routing.

In client-to-proxy routing, the client uses the Proxy Auto Configuration (PAC) mechanism to determine which proxy to go through. However, instead of using the standard PAC file, the client uses a special PAC file that computes the hash algorithm to determine the appropriate route for the requested URL. Figure 12–4 shows client to proxy routing. In this fugure, each member of the proxy array loads and polls the master proxy for updates to the PAT file. Once the client has a PAC file, the client only needs to download this file again if the configuration changes. Generally, clients will download the PAC file at restart.

The proxy server can automatically generate the special PAC file from the Proxy Array Membership Table (PAT) specifications you determine using the administration interface.

Figure 12–4 Client to Proxy Routing

Diagram showing client to proxy routing.

In proxy-to-proxy routing, proxies use a PAT (Proxy Array Table) file to compute the hash algorithm instead of the PAC file used by clients. The PAT file is an ASCII file that contains information about a proxy array, including the proxies’ machine names, IP addresses, ports, load factors, cache sizes, and so on. For computing the hash algorithm at the server, using a PAT file is much more efficient than using a PAC file (which is a JavaScript file that has to be interpreted at run-time). However, most clients do not recognize the PAT file format, and therefore, must use a PAC file. Figure 12–5 shows proxy-to-proxy routing.

The PAT file is be created on the master proxy in the proxy array. The proxy administrator must determine which proxy will be the master proxy. The administrator can change the PAT file from this master proxy server. All other members of the proxy array can then manually or automatically poll the master proxy for these changes. You can configure each member to automatically generate a PAC file from these changes.

You can also chain proxy arrays together for hierarchical routing. If a proxy server routes an incoming request through an upstream proxy array, the upstream proxy array is then known as a parent array. In other words, if a client requests a document from Proxy X, and Proxy X does not have the document, it sends the request to Proxy Array Y instead of sending it directly to the remote server. So, Proxy Array Y is a parent array.

In Figure 12–5, Proxy Array 1 is a parent array to Proxy Array 2. A member of Proxy Array 2 loads and polls for updates to the parent array’s PAT file. Usually, the member polls the master proxy in the parent array. The hash algorithm for the requested URL is computed using the downloaded PAT file. The member in the Proxy Array 2 then retrieves the requested URL from whichever proxy in Proxy Array 1 has the highest score. In the figure, Proxy B has the highest score for the URL requested by the client.

Figure 12–5 Proxy-to-Proxy Routing

Diagram showing proxy-to-proxy routing.

The general steps to set up a proxy array are as follows.

From the master proxy, do the following steps:

  1. Create the proxy array.

    For more information on creating the member list, see Creating a Proxy Array Member List.

  2. Generate a PAC file from your PAT file.

    You only need to generate a PAC file if you are using client to proxy routing. For more information, see Generating a PAC File From a PAT File.

  3. Configure the master member of the array. For more information, see Configuring Proxy Array Members.

  4. Enable routing through a proxy array. For more information, see Enabling Routing Through a Proxy Array.

  5. Create a PAT mapping to map the URL /pat to the PAT file.

  6. Enable your proxy array.

    For more information, see Enabling or Disabling a Proxy Array.

From each of the non-master proxies, do the following steps:

  1. Configure the non-master member of the array.

    For more information, see Configuring Proxy Array Members

  2. Enable routing through a proxy array.

    For more information, see Enabling Routing Through a Proxy Array.

  3. Enable your proxy array.

    For more information, see Enabling or Disabling a Proxy Array.


    Note –

    If your proxy array is going to route through a parent array, you also need to enable the parent array and configure each member to route through a parent array for desired URLs. For more information, see Routing Through Parent Arrays.