HAProxy, seperti namanya, adalah server proxy dan penyeimbang beban untuk menyediakan ketersediaan tinggi. Pada artikel ini pertama saya akan menunjukkan cara menginstal HAProxy di FreeBSD. Selanjutnya kita akan mengatur untuk bertindak sebagai proxy terbalik.
Pemasangan
Di FreeBSD saya suka membangun dan menginstal perangkat lunak saya dari pohon port, jadi jalankan sebagai root:
# cd /usr/ports/net/haproxy
# make install clean
Perhatikan layar jika beberapa dialog opsi muncul (kebanyakan dari dependensi). Aktifkan HAProxy di /etc/rc.conf saat diinstal dan lanjutkan dengan bagian berikutnya :
# /usr/local/etc/rc.d/haproxy enable
haproxy enabled in /etc/rc.conf
Konfigurasi
Sebelum kita melanjutkan mengedit file konfigurasi, izinkan saya menjelaskan sebuah skenario:
Pertama, kami hanya memiliki satu IP publik yang tersedia. Kedua, kami memiliki beberapa layanan yang ingin kami tampilkan di internet, misalnya aplikasi (aplikasi web) dan situs web kami. Keduanya berjalan di server mereka sendiri. Akhirnya kami memiliki server cadangan ketiga di mana kami telah menginstal HAProxy di bagian sebelumnya dan ini yang akan diekspos di internet.
Pengguna akan mengarahkan browsernya ke http://haproxy/website atau http://haproxy/app dan haproxy akan mengirimkan kueri ke server yang benar dan mengembalikan hasilnya ke browser.
________ /------- [server A] [ client browser] -----> | haproxy |-----+ +----------+ \--------[server B]
Bagaimanapun, wikipedia memberi tahu lebih baik cara kerja proxy terbalik.
Tambahkan bagian berikut ke /usr/local/etc/haproxy.conf. Untuk memulai nilai default global baik-baik saja:
frontend http-in bind *:80 option forwardfor use_backend uno if { path_beg /app} use_backend dos if { path_beg /www } backend uno mode http server nodea ipAp.or.fqdn:port backend dos mode http server nodeb ipB.or.fqdn:port
Jika Anda, seperti saya, tidak memiliki contoh haproxy.conf, tambahkan bagian ini ke bagian atas file:
global daemon maxconn 4096 defaults log global mode http timeout connect 5s timeout client 10s timeout server 10s
Dengan konfigurasi minimal ini, Anda dapat memeriksa apakah semuanya baik-baik saja dan memulai layanan:
Untuk tujuan pengujian saya telah membuat haproxy untuk mendapatkan sesuatu dari pc saya sendiri:
Saya memiliki Apache tempat saya menyimpan beberapa program yang mungkin saya perlukan saat menggunakan PC orang lain. Kata ajaibnya adalah url lengkap untuk beberapa program tersebut.
Bagaimana dengan yang nyata penggunaan HAProxy?
Ini adalah contoh minimal, omong-omong tidak terlalu berguna. Saya sangat menyarankan untuk membaca setidaknya dua dokumen HAProxy:
- Panduan pemula, dan
- Manual konfigurasi
Dan haproxy.conf your Anda file akan serumit atau sesederhana yang diperlukan.