Pasti anda sudah tidak asing dengan cloudflare. Apabila masih belum mengetahui tentang cloudflare silahkan akses websitenya https://www.cloudflare.com/.
Setelah kita membuat akun dan memasukkan domain kita di cloudflare, tentunya kita tidak ingin website kita diakses oleh ip selain dari cloudflare untuk mencegah terjadinya hal - hal yang tidak diinginkan. Untuk mengatasi hal tersebut kita bisa memanfaatkan fitur whitelist ip di nginx.
Langsung saja, pertama kita harus mengetahui ip dari cloudflare. Bisa kita dapatkan info nya di sini https://www.cloudflare.com/ips-v4 dan https://www.cloudflare.com/ips-v6. Untuk saat ini kita hanya menggunakan yang ipv4 saja.
Buat folder whitelist-ip.
# mkdir /etc/nginx/whitelist-ip
Buat file list ip cloudflare.
# (curl -s https://www.cloudflare.com/ips-v4 | sed "s|^|allow |g" | sed "s|\$|;|g" && echo "" && echo "deny all;") > /etc/nginx/whitelist-ip/cloudflare.conf
Untuk konfigurasi, bisa ditambahkan pada blok http untuk semua domain yang ada di server.
http {
...
include /etc/nginx/whitelist-ip/cloudflare.conf;
...
}
Bisa ditambahkan pada blok server untuk domain tertentu.
server {
...
include /etc/nginx/whitelist-ip/cloudflare.conf;
...
}
Atau ditambakan pada blok location untuk path tertentu di sebuah domain.
location /contoh {
...
include /etc/nginx/whitelist-ip/cloudflare.conf;
...
}
Setelah selesai mengkonfigurasi, jangan lupa untuk selalu cek dengan
# nginx -t
Apabila syntax sudah benar, akan muncul pesan "Syntax OK". Lalu restart nginx
# /etc/init.d/nginx restart
Kemudian akses ip server anda secara langsung di browser. Pasti akan muncul pesan 403 Forbidden.
Sekian tutorial dari saya semoga dapat membantu untuk mengamankan website anda.