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 email@example.com.
An EZproxy High Availability configuration requires the following components:
- Two or more EZproxy servers that have separate DNS hostnames and IP addresses (e.g. ezp1.yourlib.org at 18.104.22.168 and ezp2.yourlib.org at 22.214.171.124). These are called the peer hostnames.
- 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 126.96.36.199 and 188.8.131.52). This is called the shared hostname.
- 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).
- All EZproxy servers must be configured to accept their initial connections on the same port.
The config.txt 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:
The config.txt 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 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:
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.