Check Database Conflicts screen (/conflicts)

Learn how to access and use the Check Database Conflicts screen for EZproxy.

When to use this tool

Debugging problems

Run this tool when you are experiencing problems accessing a particular database, and you cannot solve the problem easily. If the tool shows overlapping definitions for the host or domain, as shown above, your access problem may be a result of this overlap. If the overlap is unintentional, you can consolidate the two definitions into one.

Housekeeping and preempting problems

Run this tool if you would like to find unintentional overlaps to prevent the access issues described above. Generally, it is a good idea to eliminate overlaps, even if they are not causing access problems. This will simplify administration of your config.txt and database stanzas and make overlap problems less likely in the future.

How it works

This tool reads all the database definitions in the config.txt file and compares them to each other. Any definitions that contain overlapping hosts, HJ, domain, or DJ statements are flagged and presented on the Check Database Conflicts results page.

To use the Conflict tool, click Check for database definition conflicts on the /status page. The Check Database Conflicts page will appear with each flagged set appearing as follows:

0 Research Database and 1 Research Javascript

Each line contains the following information:

Click on the hyperlinked text to view more information about the two stanzas and what directive statements overlap. The Database Conflict Detail page provides detailed information from the Databases table about the two stanzas with overlapping directive statements. You can use this information to determine if one stanza should be removed or if the overlap is not the cause of access issues.

What to look for

Database definition overlaps may not impact your users' ability to access resources in all cases; however, there are instances where the overlap can cause a problem. EZproxy determines whether to proxy a URL based on the first database stanza that contains a match for that URL in the URL, Host, HJ, Domain, or DJ directive statements and ignores subsequent stanzas. The first stanza controls the proxying behavior.

If the Database Conflict Detail page for the stanzas above looked as follows:

Index Database Hosts Domains URL
0 Research Database 1

D researchdb.com

H www.researcdb.com:80

http://www.researchdb.com
8 Research 0

DJ researchdb.com

HJ learn.research.db.com

{{"http://learn.researchdb.com"}}

You will notice that the D line for Research Database and the DJ line for Research contain the same domain. In this case, EZproxy would proxy any URL with the domain researchdb.com without Javascript. EZproxy will read the D line first and use this as a basis for proxying. This could cause problems when users attempt to access URLs containing the domain researchdb.com that require javascript processing to proxy correctly. To fix this problem, you could change the first D statement to a DJ or remove the D statement, leaving only the DJ.