Interface

Interface is a position-dependent config.txt/ezproxy.cfg option that interacts with LoginPort, LoginPortSSL, ShibbolethSite as well as database definitions.

In the absence of Interface statements, EZproxy allows the operating system to select which IP address should be used to listen for incoming connections and to use when making outgoing connections. The Interface allows the specification of which source IP address should be used for particular purposes.

The Interface statement accepts a single parameter, which can be either one of the IP addresses on the server where EZproxy is installed or the word Any to tell EZproxy to listen on any IP address and to allow the operating system to select the source IP address used when creating an outgoing connection.

Example

A type configuration of EZproxy in proxy by hostname might look like this:

Name ezproxy.yourlib.org
LoginPort 80
LoginPortSSL 443
Title Some Database
URL http://www.somedb.com/
Domain somedb.com
Title Other Database
URL http://www.otherdb.com/
Domain otherdb.com

In most instances, if you want to direct EZproxy to listen on a specific IP address, it is also reasonable for that address to serve as the source IP address for database requests. In such an instance, the most common application of Interface is the addition of a single statement prior to LoginPort, such as:

Name ezproxy.yourlib.org
Interface 68.14.229.198
LoginPort 80
LoginPortSSL 443
Title Some Database
URL http://www.somedb.com/
Domain somedb.com
Title Other Database
URL http://www.otherdb.com/
Domain otherdb.com

This Interface statement impacts not only the LoginPort and LoginPortSSL statements, but also directs EZproxy to use this source IP address when connecting to these databases. If you change the database definition to:

Name ezproxy.yourlib.org
Interface 68.14.229.198
LoginPort 80
LoginPortSSL 443
Title Some Database
URL http://www.somedb.com/
Domain somedb.com
Interface Any
Title Other Database
URL http://www.otherdb.com/
Domain otherdb.com

EZproxy will listen on 68.14.229.198 for login requests and use that as the source IP when proxying Some Databases, but will allow the operating system to select the source IP when proxying Other Database. It is unusual to need to intermix Interface statements within database definitions, but it is possible to do this to meet unique requirements.

Source IP address for user authentication

The LDAP support in EZproxy does not support specifying a source IP address.

Interface does not change the source IP address used when processing the user.txt/ezproxy.usr file to perform user authentication. To specify the source IP for user authentication, you must Interface as part of the line in user.txt/ezproxy.usr, such as:

::Interface=68.14.229.198,FTP=ftpserv.yourlib.org

Below are the methods that do obey specifying a source IP address:

  • CAS
  • DRAWeb2
  • FTP
  • HIP
  • HTTP Basic
  • III
  • IMAP
  • Insignia
  • L4U
  • NCIP
  • POP
  • Proxy
  • RADIUS
  • Sagebrush
  • SIP
  • TLC
  • XML

See also

LoginPort LoginPortSSL ShibbolethSite