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

Reply via email to