Menambahkan dukungan Incapsula di Nginx

Incapsula adalah layanan reverse proxy dengan fitur CDN (Content Delivery Network) dan merupakan alternatif populer dari CloudFlare. Fungsinya untuk meningkatkan kecepatan akses website, melindungi situs dari serangan spammer, malware, bot dan DDoS. Apalagi layanan ini bisa digunakan secara gratis. Cukup menarik bukan? πŸ™‚

Nah… karena setelah kita mengaktifkan Incapsula pada salah satu situs kita maka traffic pengunjungnya akan dialihkan lewat server mereka, dan ini celakanya seluruh alamat IP pengunjung adalah dari server Incapsula. Hal ini bisa mengacaukan statistik dan analisa pengunjung situs anda.

Solusinya? Si Incapsula ternyata menyisipkan alamat IP pengunjung pada header HTTP X-Forwarded-For yang dikirimkan ke server hosting kita dan kita tinggal membacanya. Di Nginx kita akan memanfaatkan fitur modul ngx_http_realip_module, dan ini baru ada kalau saat kompilasi softwarenya dengan parameter –with-http_realip_module.

Selanjutnya silahkan buka file konfigurasi Nginx, biasanya ada di usr/local/nginx/conf/nginx.conf, disini saya memakai editor nano untuk mengedit isinya. Kalau anda ubah yang di file ini maka sifatnya akan berlaku global.

nano /usr/local/nginx/conf/nginx.conf

Kemudian cari bagian http, dan sisipkan kode berikut:

#Incapsula
set_real_ip_from 199.83.128.0/21;
set_real_ip_from 198.143.32.0/19;
set_real_ip_from 149.126.72.0/21;
set_real_ip_from 103.28.248.0/22;
set_real_ip_from 45.64.64.0/22;
set_real_ip_from 185.11.124.0/22;
set_real_ip_from 192.230.64.0/18;
#set_real_ip_from 2620:28:4000::/44;
#set_real_ip_from 2a02:e980::/29;
real_ip_header X-Forwarded-For;

2 range alamat IP terakhir yang saya komentar adalah dalam format IPv6 dan ini belum tentu Nginx anda mendukungnya (kompilasi dengan parameter --with-ipv6). Tinggal hilangkan simbol komentar (#) diawalnya untuk memakainya. Oh ya, mungkin kadang – kadang perlu diupdate dan anda bisa menambahkannya dari sumbernya: Incapsula’s IP addresses.

Misal anda hanya ingin mengaktifkan dukungan konversi alamat IP Incapsula ke asalnya hanya pada satu domain atau virtual host maka anda perlu mengedit file konfigurasinya yang berlokasi dalam direktori /usr/local/nginx/conf/conf.d/. Misalnya disini saya mengedit file milik Servernesia:

nano /usr/local/nginx/conf/conf.d/servernesia.com.conf

Bedanya kode untuk Incapsula diatas sisipkan dalam bagian bernama server bukannya http.

Bila anda sudah mengubah dan menyesuaikan settingnya maka terakhir langkahnya adalah merestart service Nginx:

service nginx restart

Selesai. πŸ™‚

Tinggalkan komentar