Hi, I've searched the mailing list archive, but haven't
seen an answer yet, so I'm hoping someone can help.

I'm using the classic setup of having a lightweight Apache
frontend with mod_proxy (and Ask Bjoern Hansen's mod_proxy_add_forward
extension for setting the X-Forwarded-For header). Proxied
requests are passed to the mod_perl Apache backend. For some
of the requests, I need to find the originating host, not the
localhost 127.0.0.1 IP address, so that I can select which
data set the request should be serviced by. (The service
is a search engine service, where all the GUI is written in Perl.)

The setup is all as per the mod_perl guide (other than calling
the package name IpFix instead of My). So I have a line in the
mod_perl httpd.conf with:

PerlPostReadRequestHandler IpFix::ProxyRemoteAddr

I've even got the system working fine on the experimental server.
However, when moving over the installation to the live server yesterday,
I ran into a problem, where the ProxyRemoteAddr code does not appear
to be receiving its argument correctly.

The error message coming from the error_log file is as follows:

Use of uninitialized value at PerlPostReadRequestHandler subroutine
`IpFix::ProxyRemoteAddr' line 1.

Subsequent error messages complain about the access to
$r->connection->remote_ip

Use of uninitialized value at /usr/local/lib/perl/IpFix.pm line 17.

which suggests to me that the $ argument to ProxyRemoteAddr is
failing to be passed.

I've checked that the mod_proxy_add_forward code is compiled
into the front end Apache server (it is). And the url is definitely being
proxied to the backend, because my perl code is reporting a url for
http://localhost:8080/perl/search/internaltest (and this is the code
being executed). The mod_perl back end has been built with
PERL_UTIL_API=1, EVERYTHING=1 settings to make sure Apache:: objects should
all be available. And I use Apache::Registry in startup.pl
and the IpFix package.

Can anyone suggest where it's going wrong?

All help gratefully received - I can't see why it shouldn't
be getting this correct.

Thanks,

Peter

--------------------------------------
Peter Bailey       ph: +61 2 6249 3460
ACSys CRC; Dept of Comp Sci, FEIT, ANU
Canberra ACT 0200 Australia

Reply via email to