Echte IP hinter Reverse-Proxy/Load-Balancer extrahieren
Wann immer wir eine Apache-basierte Site hinter einem Reverse-Proxy verwenden, würden wir standardmäßig eine vernünftige Möglichkeit verlieren, die echte IP des Clients zu extrahieren (oder zumindest eine sehr gute Chance dazu zu haben), der die Anfrage stellt. Dies liegt daran, dass unser Reverse-Proxy oder Load Balancer in vielen Situationen zum Client wird, und für Apache bedeutet dies, dass wir immer nur die IP sehen (die interne IP, wenn sie lokal zu unserer Apache-Serverfarm gehört), die nutzlos wird, wenn wir Analysen auf dem durchführen Apache protokolliert oder trifft Entscheidungen für die Anfrage basierend auf der IP .
Um Apache die IP des echten Clients mitzuteilen, muss das Modul mod_rpaf geladen werden. Auf Debian-basierten Rechnern ist es so einfach und unkompliziert, den folgenden Befehl auszuführen und Apache neu zu starten:
sudo apt-get install libapache2-mod-rpaf
Bei RHE/RHL-Maschinen ist dies jedoch nicht der Fall. Führen Sie die folgenden Schritte aus, um das mod_rpaf-Modul auf Ihrem RHE/RHL-basierten Computer wie dem CentOS-Apache-Server zu installieren.
wget http://drupion.com/sites/default/files/mod_rpaf-0.6.tar_.gz
Beachten Sie, dass http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz, wo sich die Datei ursprünglich aus irgendeinem Grund befand, derzeit deaktiviert ist.
yum installiere httpd-develtar zxvf mod_rpaf-0.6.tar_.gz
cd mod_rpaf-0.6
apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
Erstellen Sie nun die Datei /etc/httpd/conf.d/mod_rpaf.conf mit folgendem Inhalt:
LoadModule rpaf_module modules/mod_rpaf-2.0.so# mod_rpaf-Konfiguration
RPAFenable On
RPAFsethostname On
RPAFproxy_ips xxx.xxx.xxx.xxx
RPAFheader X-Forwarded-For
Stellen Sie sicher, dass Sie xxx.xxx.xxx.xxx durch die IP-Adresse Ihres Servers ersetzen, starten Sie Apache neu und überprüfen Sie dann Ihre Protokolle, um festzustellen, dass Sie jetzt die IPs Ihrer Besucher und nicht die IP Ihres Servers sehen.