Install, Set Up, & Update

  • How Many Ports Does EZproxy Use?

How Many Ports Does EZproxy Use?

Why Is This Important?

If you are using the recommended Proxy by Hostname method to proxy resources, EZproxy will use one to three pre-identified ports for processing.

If you are using the default Proxy by Port method to proxy resources, the number of ports used will vary with the number of resources you have configured in your config.txt. Based on the number of resources configured, you may need to make additional changes to your EZproxy configuration as described below.

Proxy by Hostname

To avoid the arbitrary number of ports required for proxy by port, EZproxy can operate using the recommended proxy by hostname configuration. In proxy by hostname, EZproxy uses one to three pre-identified ports for all processing:

  • one for http processing
  • an optional one for https processing
  • an optional one to allow old URLs to work if you move from using port 2048 to using port 80 for http

Using the example above, EZproxy will use rewritten URLs using the hostnames in config.txtand would represent the URLS above as follows:

  • as
  • as
  • as
  • as

Proxy by Port

In its default configuration, EZproxy operates in proxy by port and uses one TCP port for login processing, with the first port being 2048. This port is used by EZproxy to handle user authentication. EZproxy always skips port 2049 since it is used by NFS.

In proxy by port, EZproxy creates "virtual web servers" by assigning one additional TCP port for every web host used by the databases you have configured in config.txt. As an example, EZproxy might assign the following ports to resources:

  • 2050 for
  • 2051 for
  • 2052 for
  • 2053 for

Since the ports are assigned based on the web server names chosen by database vendors, it is not possible to predict the exact number of ports that EZproxy will require for any given configuration. EZproxy will not create more than 200 virtual web servers. For information on how to change this limit, see MaxVirtualhosts.

If your site uses a firewall, it may need to be configured to allow incoming connections on these ports. Under the default limit, EZproxy will use no more than ports 2048 - 2252 (skipping 2049, which the firewall administrator may choose to leave blocked if your EZproxy system runs NFS, and 2064, 2115, and 2140, which are also commonly assigned to other services). You can also determine the highest port number in use with the administrative /status URL. Since EZproxy dynamically creates virtual web servers as needed, you should always leave at least a few extra ports available.

Highest port assigned by EZproxy in proxy by port

In default configurations using port 2048 as their start and not using any SkipPort directives, the highest port that EZproxy will assign may be found by the formula:

MaxVirtualHosts + 2052

If you have no interest to know why this is the case, you may skip the rest of this section.

The actual formula to compute the worst case highest port that EZproxy may assign is:

FirstPort + MaxVirtualHosts + #NoUse + #SkipPort - 1

where these values are defined as:

FirstPort The first port assigned by EZproxy; default 2048
MaxVirtualHosts The value of MaxVirutalHosts; default 200
#NoUse The number of ports that EZproxy will not assign as discussed earlier in this page; default 5
#SkipPort The number of SkipPort directives in config.txt; default 0

In the default EZproxy configuration, the worst case value is 2048+200+5+0-1 or 2252.

The astute reader will realize that 2251 is actually the highest port that can be assigned in the default configuration, since #NoUse has a practical value of 4 until EZproxy reaches port 2401. The value of 5 is used throughout for convenience.

This page last revised: May 31, 2016.