Panduan ini ditujukan untuk penginstallan SSL certificate pada Haproxy.
Persiapan Deployment #
Pastikan saja sebelum Anda mengikuti panduan berikut Anda memiliki hal berikut
- commercial.pem = Merupakan file gabungan commercial.key, commercial.crt, dan ca_bundle.crt
Note: Untuk membuat file tersebut kunjungi link berikut: docs.aktiva.co.id/ssl-certificate/membuat-file-certificate-dengan-ekstensi-pem-pfx-p12dan-cer
Panduan Deploy pada Load Balancer #
Berikut panduan Deploy SSL Certificate pada Haproxy (Load Balancer)
Buat directory untuk menyimpan file commercial.pem
mkdir /etc/haproxy/ssl
Masukan atau simpan file commercial.pem pada directory tersebut
Edit file /etc/haproxy/haproxy.cfg. Pada bagian frontend tambahkan baris berikut
frontend server-frontend bind : 80 bind : 443 ssl crt /etc/haproxy/ssl/commercial.pem https-request redirect scheme https code 301 unless { ssl...fc }
Note: Jika ingin menggunakan port 8443, ubah port 443 menjadi 8443.
Lalu cari baris backend sesuaikan seperti berikut
backend webservers server web1 ip:443 ssl verify required ca-file /etc/haproxy/ssl/commercial.pem sni req.hdr(Host) server web2 ip:443 ssl verify required ca-file /etc/haporxy/ssl/commercial.pem sni req.hdr(Host)
Note: Jika ada beberapa server sesuaikan baris tersebut sesuai jumlah server.
Selanjutnya cari baris global setting dan tambahkan baris berikut
global ssl-default-bind-options ssl-min-ver TLSv1.2 ssl-default-bind-chipers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384 ssl-default-bind-chipersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
Setelah itu reload service haproxy atau restart menggunakan perintah berikut:
systemctl reload haproxy
Panduan Deploy pada Single Server #
Berikut panduan Deploy SSL Certificate pada HAproxy (Satu Server)
Buat directory untuk menyimpan file commercial.pem
mkdir /etc/haproxy/ssl
Masukan file commercial.pem pada directory tersebut
Edit file /etc/haproxy/haproxy.cfg. Cari pada bagian konfigurasi listen tambahkan baris berikut:
listen access1 bind :8443 ssl crt /etc/haproxy/ssl/commercial.pem mode http timeout connect 30s timeout client 3m timeout server 3m option tcp-check tcp-check connect http-request redirect scheme https unless { ssl_fc } http-request set-header X-Forwarded-For %[src] http-request set-header X-Forwarded-Proto https if { ssl_fc } http-request set-var(txn.request_host_header) req.hdr(Host) server servername ip:8080
Save lalu reload service haproxy
systemctl reload haproxy