Creating an Access Manager Reverse Proxy for LexisNexis Academic
Assumptions:
- You have a functioning Novell Access Manager system
- You have given your external IP address to LexisNexis as your authenticating IP
- You have a published DNS name for your proxy: https://resource.yourdomain.com/
- Your LexisNexis URL follows this pattern: https://resource.yourdomain.com/hottopics/lnacademic
The problem with the LexisNexis functioning properly “out of the box” is that the website uses an AJAX script browser side to generate it's URLs. This creates a problem because Access Manager's rewriter does not rewrite URLs from the browser to the Web server, but from the web server to the browser.
See Figure 1 which is a HTTPREPLAY of an STRACE log file.
The first thing to do is setup a new reverse proxy with the following information.
The complete list of Additional DNS Names are as follows:
cispubs.com
global.lexisnexis.com
lexis-nexis.com
lexis.com
lexiscn.com
lexisnexis.com
w3.lexis.com
w3.lexisnexis.com
web.lexis-nexis.com
web.lexisnexis.com
www.lexis-nexis.co.uk
www.lexis-nexis.com
www.lexis.com
www.lexiscn.com
www.lexisnexis.com
Then create a new Character HTML Rewriter Profile List and move it above any existing rewriter policies you have in place.
The LexisNexis service sends back mis-formatted text with escape characters so we need to replace them with your published DNS name. As you can see in Figure 4, format the string to replace http:\/\/cispubs.com with your published DNS name (https://resource.yourdomain.com)
Add a protected resource for /hottopics/lnacademic and /*.
We then need to create another reverse proxy with the Published DNS Name as: lexisnexis.com.resource.yourdomain.com.
We need to add this secondary proxy because of the way that LexisNexis has browser side URL creation but has written in this work around for Reverse Proxy servers like Access Manager.
Setup the webservers tab the same as the first proxy (Figure 2). You do not need to add the Additional DNS Names to this proxy.
Setup the second proxies Protected Resource as /*.
Commit these changes and your proxy should be functional.