NAME

Apache::RewritingProxy - proxy that works by rewriting requested documents with no client proxy config needed.

SYNOPSIS

# Configuration in httpd.conf

            <Location /foo>
            SetHandler perl-script
            PerlHandler Apache::RewritingProxy
            Options ExecCGI
            PerlSendHeader On
            </Location>

requests to /foo/http://domain.dom/ will return the resource located at http://domain.dom with all links pointing to /foo/http://otherlink.dom

DESCRIPTION

This module allows proxying of web sites without any configuration changes on the client's part. The client is simply pointed to a URL using this module and it fetches the resource and rewrites all links to continue using this proxy.

RewritingProxy can also now be subclassed to allow users to write different handlers for the text. See the eg for examples of this in action.

INSTALLATION

perl Makefile.PL; make; make install;

REQUIREMENTS

You need the following modules installed for this module to

work

LWP::UserAgent HTML::TokeParser URI::URL Of course, mod_perl and Apache would also help greatly. Mod_Perl needs to have lots of hooks enabled. Preferably ALL_HOOKS If not, the proxy will just give lots of server errors and not really do that much. In particular, the Apache::Table and Apache::Util seem to be necessary for the module to run properly.

TODO/BUGS

Make cookies work better.

Eat fewer cookies in real life.

Add caching or incorporate some other caching mechanism.

SEE ALSO

mod_perl(3), Apache(3), LWP::UserAgent(3)

AUTHOR

Apache::RewritingProxy by Ken Hagan <ken.hagan@louisville.edu>

            Debugging, suggestions, and helpful comments courtesy of
            Mike Reiling <miker@softcoin.com>
            Steve Baker <steveb@web.co.nz>
            Tim DiLauro <timmo@jhu.edu>
            and a few other people foolish enough to download
            and run this thing.

COPYRIGHT

The Apache::RewritingProxy module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.