cfaust-dougot wrote:
Folks,
I'm guessing this has been answered but I couldn't find it.
We need to do some IP checking and need to support it on both a load
balanced environment and in a dedicated machine setup.
In the load balanced situation $r->connection->remote_ip returns 1 - Is
that correct and consistent so I can use it to switch between how I get
the IP address?
In other words should I be doing something like
if ($r->connection->remote_ip == 1)
my $ip = $r->headers_in->{'X-Forwarded-For'}
} else {
my $ip = $r->connection->remote_ip;
}
Or is there a better way?
That seems like a good approach but I don't understand why 1 would be
returned as the remote_ip. Of course, you will want to scope 'my $ip
outside of the conditional so that you can use it elsewhere.
You could also do something like:
if (my $ip = $r->headers_in->{'X-Forwarded-For'}) {
$r->connection->remote_ip( $ip );
}
TIA!
-Chris