in reply to Re^2: Getting the client IP in Apache, version 2.4
in thread Getting the client IP in Apache, version 2.4

OK, answering my own question.

use APR::SockAddr;

is obviously required, after which

$r->connection()->client_addr()->ip_get;

Works as expected.

Sorry for the noise

  • Comment on Re^3: Getting the client IP in Apache, version 2.4

Replies are listed 'Best First'.
Re^4: Getting the client IP in Apache, version 2.4
by chris212 (Scribe) on Nov 27, 2019 at 02:58 UTC

    How did you get that to work?!

    Can't locate object method "client_addr" via package "Apache2::Connection"

    Apache/2.4.29 (Ubuntu) OpenSSL/1.1.1 mod_apreq2-20090110/2.8.0 mod_perl/2.0.10 Perl/v5.26.1

      How did you get that to work?!
      Can't locate object method "client_addr" via package "Apache2::Connection"
      Apache/2.4.29 (Ubuntu) OpenSSL/1.1.1 mod_apreq2-20090110/2.8.0 mod_perl/2.0.10 Perl/v5.26.1

      It's been a very long time since I last worked with mod_perl, but what is strange here is that I can't find a reference to ->client_addr neither here nor here. Have you tried ->remote_ip instead?

        Yes, that is the first thing I tried. But none of the remote_* or client_* methods seem to be defined for Apache2::Connection. I could get useragent_ip, but I'm trying to use this to blacklist malicious users, and I suspect an attacker could spoof that easily.