Cara Mengkonfigurasi Sertifikat CA SSL di Haproxy

Cara Mengkonfigurasi Sertifikat CA SSL di Haproxy

Haproxy adalah proxy terbalik berkinerja tinggi yang banyak digunakan, andal, dan berkinerja tinggi, yang menawarkan kemampuan penyeimbang dan penyeimbang beban tinggi untuk aplikasi TCP dan HTTP. Secara default, disusun dengan Openssl, dengan demikian mendukung SSL penghentian, memungkinkan tumpukan situs web/aplikasi Anda untuk mengenkripsi dan mendekripsi lalu lintas antara "server entri web" Anda atau server gateway akses aplikasi dan aplikasi klien Anda.

Panduan ini menunjukkan cara mengkonfigurasi a CA SSL sertifikat di Haporxy. Panduan ini mengasumsikan bahwa Anda telah menerima sertifikat Anda dari CA dan siap menginstal dan mengonfigurasinya di server HAproxy.

File yang diharapkan adalah:

  • Sertifikat itu sendiri.
  • Sertifikat menengah juga disebut bundel atau rantai, dan.
  • Root ca, jika tersedia, dan.
  • Kunci pribadi.

Buat file sertifikat SSL yang diformat PEM

Sebelum Anda mengonfigurasi Ca sertifikat di Haproxy, Anda perlu memahami itu Haproxy membutuhkan satu .PEM File yang harus berisi konten semua file di atas, digabungkan dalam urutan berikut:

  • Kunci pribadi yang diakhiri dengan .kunci, (dapat datang di awal atau akhir file).
  • Diikuti oleh sertifikat SSL (biasanya berakhir dengan .crt).
  • Kemudian CA-bundle (biasanya berakhir dengan .ca-bundle), Dan
  • Root ca, jika tersedia.

Untuk membuat .PEM file, pindah ke direktori yang memiliki file sertifikat Anda e.G ~/Unduhan, Kemudian jalankan perintah CAT seperti ini (ganti nama file yang sesuai):

Contoh $ kucing.com.Key star_example_com/star_example_com.crt star_example_com/star_example_com.CA-BUNDLE> Contoh.com.PEM 

Konfigurasikan Sertifikat SSL PEM di Haproxy

Selanjutnya, unggah yang baru saja dibuat .PEM file sertifikat ke Haproxy server menggunakan perintah scp seperti yang ditunjukkan (ganti Sysadmin Dan 192.168.10.24 dengan nama pengguna server jarak jauh dan alamat IP masing -masing):

Contoh $ SCP.com.PEM [email dilindungi]:/home/sysadmin/ 

Kemudian buat direktori di mana sertifikat .PEM file akan disimpan menggunakan mkdir Perintah dan salin file ke dalamnya:

$ sudo mkdir -p/etc/ssl/contoh.Contoh com/ $ sudo CP.com.PEM/etc/ssl/contoh.com/ 

Selanjutnya, buka Haproxy file konfigurasi dan konfigurasikan sertifikat di bawah bagian Frontend Listener, menggunakan parameter SSL dan CRT: Yang pertama memungkinkan penghentian SSL dan yang terakhir menentukan lokasi file sertifikat.

Frontend HTTP_FRONTEND MODE HTTP BIND *: 80 BIND *: 443 SSL CRT/ETC/SSL/Contoh.com/contoh.com.PEM ALPN H2, http/1.1 skema redirect kode https 301 jika !ssl_fc default_backend http_servers 

Versi tertentu dari SSL/TLS tidak direkomendasikan untuk digunakan sekarang karena kerentanan yang telah ditemukan di dalamnya. Untuk membatasi versi yang didukung SSL, Anda dapat menambahkan SSL-MIN-VER Parameter seperti ini:

BIND *: 443 SSL CRT/ETC/SSL/Contoh.com/contoh.com.PEM ALPN H2, http/1.1 SSL-Min-Ver TLSV1.2 

Konfigurasikan Haproxy untuk mengarahkan http ke https

Untuk memastikan bahwa situs web Anda hanya dapat diakses melalui Https, Anda perlu mengaktifkan Haproxy untuk mengarahkan semua Http lalu lintas ke Https Jika pengguna mencoba mengaksesnya melalui HTTP (port 80).

Tambahkan baris berikut ke konfigurasi di atas:

Redirect Scheme HTTPS Code 301 jika !SSL_FC atau http-redirect skema redirect https kecuali ssl_fc 

Bagian Frontend Anda sekarang harus terlihat seperti yang ada di konfigurasi sampel ini:

Frontend HTTP_FRONTEND MODE HTTP BIND *: 80 BIND *: 443 SSL CRT/ETC/SSL/Contoh.com/contoh.com.PEM ALPN H2, http/1.1 SSL-Min-Ver TLSV1.2 skema pengalihan kode https 301 jika !ssl_fc default_backend http_servers backend mode http_servers http balance opsi roundrobin httpchk head / http-response-response-header x-option-head-head-head-head-head-header-header-header-header-header-header-header-header X-header-header X-response-header X-header-header X-header-header X-header-header X-header-header X-header-header X-header-header X-header-header x-xs-xs-cox -Konten-tipe-opsi nosniff-server-server periksa maxconn 5000 server http_server1 10.2.1.55:80 

Simpan file konfigurasi dan tutup.

Kemudian periksa apakah sintaksnya benar menggunakan perintah berikut:

$ sudo haproxy -f/etc/haproxy/haproxy.CFG -C 
Periksa konfigurasi Haproxy

Jika file konfigurasi valid, silakan dan Muat Ulang Layanan Haproxy untuk mengambil perubahan terbaru dalam konfigurasi, menggunakan perintah SystemCTL:

$ sudo Systemctl Reload Haproxy 

Last but not least, uji seluruh pengaturan dengan mengakses situs web Anda dari browser web dan memastikan bahwa sertifikat memuat dengan baik dan browser menunjukkan bahwa “Koneksi aman"!

Periksa situs web Haproxy

Itu saja! Kami berharap panduan ini telah membantu Anda mengkonfigurasi sertifikat SSL dalam perangkat lunak penyeimbang beban haproxy. Jika Anda mengalami kesalahan, beri tahu kami melalui formulir umpan balik di bawah ini. Kami akan dengan senang hati membantu Anda.