Cara Instalasi SSL Let’s Encrypt pada Load Balancer Haproxy
1 people liked this article
A. Pendahuluan
HAProxy adalah sebuah aplikasi opensource berbasis Linux yang biasa digunakan sebagai load balancing trafic jaringan. Load balancing adalah teknik untuk mendistribusikan beban trafik pada dua atau lebih jalur koneksi secara seimbang agar trafik dapat berjalan optimal, memaksimalkan throughput, memperkecil waktu tanggap dan menghindari overload pada salah satu jalur koneksi. Teknik balancing dapat menggunakan beberapa cara yang berbeda, tergantung kekompleksan yang ada.
HAProxy adalah solusi baik, sangat cepat dan andal yang menawarkan load-balancing, ketersediaan tinggi, dan proksi untuk aplikasi berbasis TCP dan HTTP. Ini sangat cocok untuk situs web dengan lalu lintas sangat tinggi dan memberdayakan banyak situs web yang paling banyak dikunjungi di dunia. Maka dari itu sangat penting untuk mengerti, apa yang sebenarnya dibutuhkan jaringan sebelum membuat keputusan melakukan konfigurasi load balancer.
HAProxy sekarang diinstal. Sekarang mari kita membuat pengaturan di mana kita memiliki 2 (dua) instance Apache Web Server dan 1 (satu) instance HAProxy. Di bawah ini adalah informasi pengaturan:
Kami akan menggunakan tiga VM yang dapat dibuat dari Gio Cloud atau Neo Cloud
Instance 1 - Load Balancer
Hostname: HAProxy
OS: Ubuntu
Private IP: 192.168.100.8
IP Public: 103.93.55.111
Instance 2 - Web Server 1
Hostname: VM-Webserver-A
OS: Ubuntu sudah di install Apache dan telah di buat virtual host
Private IP: 192.168.100.21
Instance 3 - Web Server 2
Hostname: VM-Webserver-B
OS: Ubuntu sudah di install Apache dan telah di buat virtual host
Private IP: 192.168.100.28
B. Konfigurasi & Instalasi
Langkah 1
Install Let’s Encrypt
Langkah pertama untuk menggunakan Let’s Encrypt untuk mendapatkan sertifikat SSL adalah menginstal perangkat lunak certbot di server Anda. Pengembang Certbot menyediakan repositori dengan versi terbaru dari perangkat lunak.
sudo add-apt-repository ppa:certbot/certbot
Anda akan diminta untuk mengonfirmasi penambahan. Tekan ENTER untuk melanjutkan. Kemudian perbarui cache paket untuk mengambil daftar paket baru:
sudo apt-get update
Setelah selesai update, install paket certbot
sudo apt-get install certbot
Langkah 2
Mendapatkan sertifikat
Sekarang gunakan plugin Standalone dengan menjalankan perintah ini:
sudo certbot certonly --standalone --preferred-challenges http --http-01-port 80 -d example.com -d www.example.com
Anda akan diminta untuk memasukkan alamat email Anda dan menyetujui persyaratan layanan Let’s Encrypt. Jika semuanya berhasil, certbot akan mencetak pesan keluaran seperti ini:
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/example.com/fullchain.pem. Your cert
will expire on 2017-09-06. To obtain a new or tweaked version of
this certificate in the future, simply run certbot again. To
non-interactively renew *all* of your certificates, run "certbot
renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
Gabungkan fullchain.pem dan privkey.pem
Saat mengkonfigurasi HAProxy untuk melakukan penghentian SSL, Anda harus menggabungkan fullchain.pem dan privkey.pem ke dalam satu file.
Pertama, buat direktori tempat file gabungan akan ditempatkan, / etc / haproxy / certs:
sudo mkdir -p /etc/haproxy/certs
Selanjutnya, buat file gabungan dengan perintah cat ini (gantikan example.com dengan nama domain Anda):
DOMAIN='example.com' sudo -E bash -c 'cat /etc/letsencrypt/live/$DOMAIN/fullchain.pem /etc/letsencrypt/live/$DOMAIN/privkey.pem > /etc/haproxy/certs/$DOMAIN.pem'
Amankan akses pada kombinasi file tersebut, dimana berisi private key, menggunakan command berikut:
sudo chmod -R go-rwx /etc/haproxy/certs
Sekarang kita siap menggunakan sertifikat SSL dan kunci pribadi dengan HAProxy.
Langkah 3
C. Install HAProxy
apt-get install haproxy
Saat ini haproxy telah terinstall namun membutuhkan untuk konfigurasi lebih lanjut.
Buka teks editor pada haproxy.cfg
cat /etc/haproxy/haproxy.cfg
Bagian global mendefinisikan parameter tingkat sistem seperti lokasi file dan pengguna serta grup tempat HAProxy dijalankan. Dalam kebanyakan kasus, Anda tidak perlu mengubah apa pun di bagian ini. Pengguna haproxy dan grup haproxy keduanya dibuat selama instalasi.
Bagian default mendefinisikan parameter logging tambahan dan opsi yang terkait dengan timeout dan kesalahan. Secara default, pesan normal dan kesalahan akan dicatat.
D. Konfigurasi Load Balancing
Saat Anda mengkonfigurasi load balancing menggunakan HAProxy, ada dua jenis node yang perlu didefinisikan: frontend dan backend. Frontend adalah simpul di mana HAProxy mendengarkan koneksi. Node backend adalah yang digunakan HAProxy untuk meneruskan permintaan. Jenis simpul ketiga, simpul statistik, dapat digunakan untuk memantau penyeimbang beban dan dua simpul lainnya.
Buka /etc/haproxy/haproxy.cfg di teks editor dan tambahkan konfigurasi untuk front end:
nano /etc/haproxy/haproxy.cfg
frontend www-http
bind IP_Private_Instance:80
reqadd X-Forwarded-Proto:\ http
default_backend www-backend
frontend www-https
bind IP_Private_Instance:443 ssl crt /etc/haproxy/certs/domain_anda.pem
reqadd X-Forwarded-Proto:\ https
acl letsencrypt-acl path_beg /.well-known/acme-challenge/
use_backend letsencrypt-backend if letsencrypt-acl
default_backend www-backend
Blok konfigurasi ini menentukan node frontend bernama haproxy node, yang terikat pada semua antar muka jaringan pada port 80. Ia akan mendengarkan koneksi HTTP (dimungkinkan untuk menggunakan mode TCP untuk tujuan lain) dan akan menggunakannodes back end.
E. Tambahkan konfigurasi pada sisi backend
nano /etc/haproxy/haproxy.cfg
backend www-backend
redirect scheme https if !{ ssl_fc }
server Nama-Server1 IP_Private_Anda:80 check
server Nama-Server2 IP_Private_Anda:80 check
backend letsencrypt-backend
server letsencrypt 127.0.0.1:54321
nano /etc/haproxy/haproxy.cfg
listen stats
bind :32700
stats enable
stats uri /
stats hide-version
stats auth someuser:password
systemctl restart haproxy
Untuk melihat statistik dan memantau kesehatan node, navigasikan ke alamat IP atau nama domain dari node frontend di browser web di port yang ditugaskan, mis., Http://103.93.55.118:32700. Ini akan menampilkan statistik seperti berapa kali permintaan diteruskan ke simpul tertentu serta jumlah sesi saat ini dan sebelumnya yang ditangani oleh simpul frontend.
F. Uji Coba
Saat ini konfigurasi HAProxy telah selesai dan kita coba akses website menggunakan IP http://103.93.55.111:32700/ untuk melihat hasilnya
Hasil Pertama
Hasil Kedua setelah di refresh browser
G. Kesimpulan
Semoga artikel ini dapat membantuAnda. Temukan bantuan lainnya melalui Knowledge Base Biznet Gio. Jika Anda masih memiliki kendala silahkan hubungi support@biznetgio.com.
Popular Articles
-
Cara Install & Konfigurasi Monitoring Cacti Serta Mengetahui Fungsi Fitur Pada Cacti
8 people say this guide was helpful
-
Cara Mengaktifkan Telnet pada Windows 7, 8 dan 10
3 people say this guide was helpful
-
Instalasi DNS Server Menggunakan Service Bind di CentOS 7
4 people say this guide was helpful
-
Jenis-Jenis Software Virtualisasi untuk Membuat Virtual Machine
5 people say this guide was helpful