Meneruskan IP pengunjung lewat Nginx ke Apache

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:

  1. 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.c

    Kalau di UBUNTU:

    sudo apt-get install libapache2-mod-rpaf
    sudo a2enmod rpaf

    Setelah 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-For

    Restart apache

  2. 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

Leave a Reply

Your email address will not be published. Required fields are marked *