Pokud je Apache provozován za reverzní proxy (např. Nginx), standardně vidí jako IP adresu klienta pouze adresu proxy serveru. Pro zobrazení skutečné IP adresy klienta je nutné použít modul mod_remoteip
.
Aktivace modulu
Na systémech Debian/Ubuntu:
sudo a2enmod remoteip
sudo systemctl restart apache2
Na CentOS/RHEL je potřeba ověřit, zda je modul nahrán v konfiguraci Apache:
LoadModule remoteip_module modules/mod_remoteip.so
Konfigurace mod_remoteip
V hlavním konfiguračním souboru Apache (např. /etc/apache2/apache2.conf
) nebo v konfiguraci konkrétního VirtualHostu přidejte:
RemoteIPHeader X-Forwarded-For
RemoteIPTrustedProxy 127.0.0.1 192.168.1.1 # Nahraďte IP proxy serveru
Tato konfigurace zajistí, že Apache bude důvěřovat hlavičce X-Forwarded-For
pouze od určených proxy serverů.
Po správné konfiguraci bude Apache v logech zobrazovat skutečné IP adresy klientů místo adresy proxy serveru.
Restart služby
Po změnách konfigurace restartujte Apache:
sudo systemctl restart apache2