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 orders@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.

Configuring HAName and HAPeer

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

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

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

Additional tips for configuring the HAPeer directive:

  • The URL for each HAPeer directive must exactly match the http URL that appears in that server's messages.txt file at startup. For example:

    Server http URL http://ezp1.yourlib.org
  • The URL for the HAPeer directive cannot be specified using https.

  • If a port appears as part of the URL in messages.txt, it must be included in the HAPeer directive as well.

See the IncludeFile directive for information on how to allow the config.txt 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.

This page last revised: June 22, 2015