This software adjusts the remote IP address to match the incoming client's IP when operating mod_perl behind a reverse proxy server.
Using Apache::ForwardedFor is breezy. You only need to add a few lines to your httpd.conf file to configure it. The PerlModule Apache::ForwardedFor and PerlPostReadRequestHandler Apache::ForwardedFor lines set the module, while the PerlSetVar ForwardedForAccept 192.168.1.1 and PerlAddVar ForwardedForAccept 192.168.1.2 lines allow you to define the IP addresses to accept incoming connections from.
One of the most common use cases of Apache::ForwardedFor is to run Apache behind a reverse proxy so that you can delegate static content requests to a small httpd and proxy dynamic mod_perl-generated content requests to a big httpd. This method helps overcome memory constraints of running a busy mod_perl site.
However, when using a reverse proxy, the backend (mod_perl) httpd's remote_ip is that of the front-end proxying httpd. This is not an accurate representation of the end client's real IP address, which can make it difficult to implement IP-based access control and track usage through your logs. Apache::ForwardedFor conveniently fixes this problem, allowing you to use IP-based access control and accurately track usage.
Version 0.5: N/A