View | Details | Raw Unified | Return to bug 39789
Collapse All | Expand All

(-)a/C4/Context.pm (-4 / +6 lines)
Lines 880-890 variable to be set correctly. Link Here
880
sub set_remote_address {
880
sub set_remote_address {
881
    if ( C4::Context->config('koha_trusted_proxies') ) {
881
    if ( C4::Context->config('koha_trusted_proxies') ) {
882
        require CGI;
882
        require CGI;
883
        my $header = CGI->http('HTTP_X_FORWARDED_FOR');
883
        if ( my $reverse_proxy_ip_header = C4::Context->config('reverse_proxy_ip_header') ) {    # Updated here
884
            my $header = CGI->http($reverse_proxy_ip_header);
884
885
885
        if ($header) {
886
            if ($header) {
886
            require Koha::Middleware::RealIP;
887
                require Koha::Middleware::RealIP;
887
            $ENV{REMOTE_ADDR} = Koha::Middleware::RealIP::get_real_ip( $ENV{REMOTE_ADDR}, $header );
888
                $ENV{REMOTE_ADDR} = Koha::Middleware::RealIP::get_real_ip( $ENV{REMOTE_ADDR}, $header );
889
            }
888
        }
890
        }
889
    }
891
    }
890
}
892
}
(-)a/Koha/Middleware/RealIP.pm (-2 / +3 lines)
Lines 51-61 sub call { Link Here
51
    my $self = shift;
51
    my $self = shift;
52
    my $env  = shift;
52
    my $env  = shift;
53
53
54
    if ( $env->{HTTP_X_FORWARDED_FOR} ) {
54
    my $reverse_proxy_ip_header = C4::Context->config('reverse_proxy_ip_header');
55
    if ( $reverse_proxy_ip_header && $env->{$reverse_proxy_ip_header} ) {
55
        my @trusted_proxy = $self->trusted_proxy ? @{ $self->trusted_proxy } : undef;
56
        my @trusted_proxy = $self->trusted_proxy ? @{ $self->trusted_proxy } : undef;
56
57
57
        if (@trusted_proxy) {
58
        if (@trusted_proxy) {
58
            my $addr = get_real_ip( $env->{REMOTE_ADDR}, $env->{HTTP_X_FORWARDED_FOR}, \@trusted_proxy );
59
            my $addr = get_real_ip( $env->{REMOTE_ADDR}, $env->{$reverse_proxy_ip_header}, \@trusted_proxy );
59
            $ENV{REMOTE_ADDR} = $addr;
60
            $ENV{REMOTE_ADDR} = $addr;
60
            $env->{REMOTE_ADDR} = $addr;
61
            $env->{REMOTE_ADDR} = $addr;
61
        }
62
        }
(-)a/debian/templates/koha-conf-site.xml.in (-1 / +1 lines)
Lines 343-348 __END_SRU_PUBLICSERVER__ Link Here
343
 <!-- Configuration for X-Forwarded-For -->
343
 <!-- Configuration for X-Forwarded-For -->
344
 <!--
344
 <!--
345
 <koha_trusted_proxies>1.2.3.4 2.3.4.5 3.4.5.6</koha_trusted_proxies>
345
 <koha_trusted_proxies>1.2.3.4 2.3.4.5 3.4.5.6</koha_trusted_proxies>
346
 <reverse_proxy_ip_header>HTTP_X_FORWARDED_FOR</reverse_proxy_ip_header>
346
 -->
347
 -->
347
348
348
 <!-- Elasticsearch Configuration -->
349
 <!-- Elasticsearch Configuration -->
349
- 

Return to bug 39789