Apa itu HAProxy?
HAProxy adalah load balancer dan reverse proxy sumber terbuka dengan performa tinggi untuk aplikasi TCP dan Hypertext Transfer Protocol (HTTP). Pengguna dapat menggunakan HAProxy untuk mendistribusikan beban kerja dan meningkatkan performa situs web serta aplikasi. Peningkatan performa ini mencakup pengurangan waktu respons dan peningkatan throughput. HAProxy digunakan dalam layanan dengan lalu lintas tinggi, seperti GitHub dan Twitter.
Load balancer dapat mendistribusikan beban kerja ke berbagai komputer, jaringan, drive disk, atau unit pemrosesan pusat (CPU). HAProxy, yang sudah termasuk dalam banyak distribusi Linux, merupakan salah satu standar utama dalam load balancing berbasis perangkat lunak.
Meskipun HAProxy bersifat sumber terbuka, HAProxy Technologies menawarkan opsi komersial bernama HAProxy Enterprise. Versi ini mencakup rangkaian add-on untuk kebutuhan enterprise, dukungan ahli, dan layanan profesional.
Fitur HAProxy
HAProxy memiliki fitur-fitur berikut:
- Load balancing Layer 4 (TCP) dan Layer 7 (HTTP).
- Dukungan protokol untuk HTTP, HTTP/2, gRPC, dan FastCGI.
- Terminasi Secure Sockets Layer (SSL) dan Transport Layer Security (TLS).
- Penyimpanan sertifikat SSL yang dinamis.
- Pemilihan konten dan inspeksi.
- Proxy transparan.
- Logging yang detail.
- Antarmuka baris perintah (CLI) untuk manajemen server.
- Otentikasi HTTP.
- Multithreading.
- Rewriting URL.
- Pemeriksaan kesehatan.
- Pembatasan kecepatan (rate limits).
Fitur pemilihan konten memungkinkan pengguna memilih kumpulan server berdasarkan permintaan. Selain itu, proxy transparan memungkinkan pengguna terhubung ke server menggunakan alamat IP klien. Inspeksi konten memungkinkan pemblokiran protokol yang tidak diharapkan. Logging yang detail dapat digunakan untuk melihat data permintaan secara real-time. CLI memungkinkan pengguna mengubah konfigurasi, seperti menyalakan atau mematikan server. HAProxy juga dapat diskalakan untuk terhubung ke ribuan backend.
Keamanan HAProxy
Pengguna menganggap HAProxy sebagai alat yang aman karena memiliki sedikit kerentanan keamanan. HAProxy memiliki fitur yang membatasi permukaan serangan jika terjadi masalah keamanan.
Beberapa fitur keamanan HAProxy meliputi:
- Melakukan isolasi dengan chroot.
- Menjalankan proses sebagai pengguna dan grup nonprivileged setelah startup.
- Menghindari akses ke disk setelah inisialisasi.
Pengguna juga dapat menggunakan HAProxy untuk meningkatkan keamanan sistem lain. Misalnya, HAProxy dapat memeriksa lalu lintas dan memantau perilaku klien selama serangkaian permintaan, lalu memblokir klien jika terdeteksi sebagai ancaman. Pengguna dapat mengonfigurasi daftar kontrol akses (ACL) untuk menentukan kebijakan perizinan akses berdasarkan metadata dalam suatu permintaan. HAProxy juga mendukung pembatasan kecepatan serta daftar blokir dan izinkan IP.