Kalau menggunakan Nginx utk reverse proxy atau load balancer, jika pakai setting standar maka apache akan menganggap cliennta adalah nginx, sehingga ip yang ditangkap adalah IP nginx misalnya 127.0.0.1. Untuk menangkap IP sebenarnya dari pengunjung, caranya adalah:
- Install apache mod_rpaf
Kalau di CENTOS:
# cd /usr/local/src
# wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
# tar -xzf mod_rpaf-0.6.tar.gz
# cd mod_rpaf-*
# apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.cKalau di UBUNTU:
sudo apt-get install libapache2-mod-rpaf
sudo a2enmod rpafSetelah itu setting httpd.conf / apache2.conf sebagai berikut:
LoadModule rpaf_module modules/mod_rpaf-2.0.so
# mod_rpaf Configuration
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 10.0.0.1 # ganti dengan IP proxy
RPAFheader X-Forwarded-ForRestart apache
- Setting 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;restart nginx