High Availability

To help you minimize downtime experienced by your users, EZproxy can be configured to run on multiple systems in a High Availability configuration. Each EZproxy server in a high availability configuration requires its own, separate license. Additional licenses for high availability configurations are available for no additional cost by sending a request to ezproxy@oclc.org.

An EZproxy High Availability configuration requires the following components:

  1. Two or more EZproxy servers that have separate DNS hostnames and IP addresses (e.g. ezp1.yourlib.org at 68.14.229.197 and ezp2.yourlib.org at 68.14.229.198). These are called the peer hostnames.
  2. A single DNS hostname that is different from the peer hostnames and is setup using multiple DNS Address (A) records so that it resolves to all of the IP addresses of all of the peer servers (e.g. shared.yourlib.org at 68.14.229.197 and 68.14.229.198). This is called the shared hostname.
  3. The peer hostnames and the shared hostname must all be different up to the first period, then must all be identical from the first period to the end (e.g. ezp1.yourlib.org, ezp2.yourlib.org, and shared.yourlib.org start with the differing ezp1, ezp2, and shared, but all end identically in .yourlib.org).
  4. All EZproxy servers must be configured to accept their initial connections on the same port.

The config.txt/ezproxy.cfg file for all servers require a single HAName statement containing just the shared name and an HAPeer statement containing the main URL for each of the peer servers. Sample usage is:

HAName shared.yourlib.org
HAPeer http://ezp1.yourlib.org:2048
HAPeer http://ezp2.yourlib.org:2048

The config.txt/ezproxy.cfg file for each server should be identical except for their Name statement and Interface statements (if any).

See the IncludeFile directive for information on how to allow the config.txt/ezproxy.cfg files to be identical on all peer servers while including their site-specific information from a separate file.

Starting Point URLs

Once everything is configured, you setup your Starting Point URLs to use the shared hostname. Based on the prior example, a Starting Point URL might look like:

http://shared.yourlib.org:2048/login?url=http://www.somedb.com/

SSL

If you are using SSL on these servers, each server must have its own, separate SSL certificate. SSL certificates are purchased under the specific server names (e.g. ezp1.yourlib.org and ezp2.yourlib.org), NOT under the shared name.