In una infrastruttura web che espone siti e servizi usando un reverse proxy Nginx davanti ai web server Apache, generalmente, accade che le chiamate fatte al server web hanno come sorgente il reverse proxy. Questo comporta che i file di log del server web registreranno come ip client sempre e solo l'ip del reverse proxy. Tutto questo anche se, Nginx, ha tra i suoi header HTTP X-Forwarded-For.

HTTP X-Forwarded-For contiene l'ip reale del client, ma, Apache di default non preleva i dati da questo header. Per abilitare questa funzione è necessario installare sul web server Apache il modulo mod_rpaf:

apt-get install libapache2-mod-rpaf

Dopo l'installazione del modulo, quest'ultimo va configurato inserendo il seguente codice all'interno del file /etc/apache2/mods-available/rpaf.conf

<IfModule mod_rpaf.c>
	RPAFenable On
	RPAFsethostname On
	RPAFproxy_ips xxx.xxx.xxx.xxx (indirizzo ip del reverse proxy)
</IfModule>

Salvato il file è necessario riavviare il web server Apache.

E' possibile anche forzare il passaggio degli header inserendo i seguenti parametri nel virtual host del reverse proxy Nginx:

proxy_set_header   Host             $host;
proxy_set_header   X-Real-IP        $remote_addr;
proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;