One potentially interesting use of the AccessHandler module is to protect an Apache Proxy configuration. For example, after installing and enabling mod_proxy, mod_proxy_http, and mod_proxy_html you could proxy websites like so:
<Location /proxy/>
# Base "Rewrite URLs" configuration
ProxyHTMLLinks a href
ProxyHTMLLinks area href
ProxyHTMLLinks link href
ProxyHTMLLinks img src longdesc usemap
ProxyHTMLLinks object classid codebase data usemap
ProxyHTMLLinks q cite
ProxyHTMLLinks blockquote cite
ProxyHTMLLinks ins cite
ProxyHTMLLinks del cite
ProxyHTMLLinks form action
ProxyHTMLLinks input src usemap
ProxyHTMLLinks head profile
ProxyHTMLLinks base href
ProxyHTMLLinks script src for
# To support scripting events (with ProxyHTMLExtended On)
ProxyHTMLEvents onclick ondblclick onmousedown onmouseup \
onmouseover onmousemove onmouseout onkeypress \
onkeydown onkeyup onfocus onblur onload \
onunload onsubmit onreset onselect onchange
# Limit all Proxy connections to authenticated sessions by default
PerlAccessHandler OpenILS::WWW::AccessHandler
# Strip out Evergreen cookies before sending to remote server
RequestHeader edit Cookie "^(.*?)ses=.*?(?:$|;)(.*)$" $1$2
RequestHeader edit Cookie "^(.*?)eg_loggedin=.*?(?:$|;)(.*)$" $1$2
</Location>
<Location /proxy/example/>
# Proxy example.net
ProxyPass http://www.example.net/
ProxyPassReverse http://www.example.net/
ProxyPassReverseCookieDomain example.net example.com
ProxyPassReverseCookiePath / /proxy/example/
ProxyHTMLEnable On
ProxyHTMLURLMap http://www.example.net/ /proxy/example/
ProxyHTMLURLMap / /proxy/mail/
ProxyHTMLCharsetOut *
# Limit to BR1 and BR3 users
PerlSetVar OILSAccessHandlerHomeOU "BR1,BR3"
</Location>As mentioned above, this can be used for multiple reasons. In addition to websites such as online databases for patron use you may wish to proxy software for staff or patron use to make it appear on your catalog domain, or perhaps to keep from needing to open extra ports in a firewall.