Hướng dẫn cài SSL lên HAProxy

Giới thiệu

Trong thời đại số hóa ngày nay, việc bảo vệ thông tin truyền tải qua mạng là một ưu tiên hàng đầu. Để đảm bảo rằng dữ liệu của bạn được bảo mật và không thể bị đánh cắp khi di chuyển qua internet, SSL/TLS là một công nghệ quan trọng. HAPROXY là một dịch vụ cân bằng tải và proxy phổ biến, và việc cài đặt SSL trên HAPROXY là một phần quan trọng trong việc bảo vệ dịch vụ của bạn.

Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn cách cài đặt SSL lên HAPROXY để mã hóa dữ liệu truyền tải và đảm bảo tính bảo mật của ứng dụng của bạn. Chúng tôi sẽ đi từng bước từ việc chuẩn bị chứng chỉ SSL cho đến cấu hình HAPROXY để sử dụng chúng.

Chuẩn bị

Để cài đặt SSL cho HAProxy, chúng ta cần có một chứng chỉ SSL (SSL certificate). Chứng chỉ SSL có thể được mua từ các nhà cung cấp dịch vụ SSL như VeriSign, GeoTrust, GlobalSign, Comodo, vv. Hoặc bạn có thể tạo chứng chỉ SSL miễn phí từ các trang web như Let’s Encrypt.

Tất nhiên bạn phải có sẳn server haproxy rồi nhé, nếu chưa bạn có thể click vào đây để xem hướng dẫn nhé.

Cài đặt

Để tiến hành cài đặt ta cần chuẩn bị 3 file chứng chỉ do nhà cung cấp SSL đã cấp phát là Certificate, CA Bundle và private key.

Bước 1 : Khi đã có 3 file đó ta tiến hành ghép 3 file đó thành 1 file *.pem bằng các lệnh sau:

cat Certificate.crt CABundle.crt private.key > domain.pem

Bước 2 : Mọi người sắp xếp theo thứ tự file .crt .ca rồi tới file .key để tạo file .pem nhé.

Bước 3 : Copy file .pem mới tạo tới đường dẫn /etc/ssl

cp haproxy.pem /etc/ssl/

Bước 4 : Cài chứng chỉ vào file cấu hình của HAProxy

Mọi người thêm nội dung sau vào cuối file cấu hình, ở đây file config haproxy của mình là (/etc/haproxy/haproxy.cfg)

frontend https
    bind *:443 ssl crt /etc/ssl/haproxy.pem  #đường dẫn file .pem mà mình tạo trước đó
    mode http
    default_backend servers

backend servers
    mode http
    server web1 192.168.10.2:80 check   #IP node1
    server web2 192.168.10.3:80 check   #IP node2

Trong đó:

  • frontend https: định nghĩa một frontend mới với tên là https.
  • bind *:443 ssl: cho phép HAProxy lắng nghe kết nối SSL trên cổng 443.
  • crt /etc/haproxy/ssl/haproxy.pem: chỉ định tệp chứng chỉ SSL cho frontend.
  • default_backend servers: chỉ định backend mặc định cho frontend.

Bước 5 : Sau khi đã thêm thông tin cấu hình này, bạn cần khởi động lại HAProxy để áp dụng các thay đổi.

Check xem nội dung file config có lỗi gì không nếu hiện như hình ảnh thì chuẩn rồi nhé :

haproxy -check -f /etc/haproxy/haproxy.cfg

Bây giờ restart lại haproxy để nhận các cấu hình SSL mới thêm nhé :

systemctl restart haproxy

Bước 6 : Kiểm tra xem đã có SSL chưa bằng công cụ SSL Checker :

Nếu tích xanh hết thì có nghĩa là đã có SSL .

Kết luận

Cài đặt SSL cho HAProxy giúp bảo vệ thông tin truyền tải giữa client và server. Trong bài viết này, chúng ta đã hướng dẫn cách cài đặt SSL cho HAProxy bằng cách sử dụng chứng chỉ SSL và cấu hình tệp cấu hình của HAProxy. Nếu bạn đang sử dụng HAProxy, hãy cài đặt SSL để bảo vệ thông tin của mình.

Picture of Tobi

Tobi

Chào mọi người, mình là Quyền - hiện đang công tác tại Phòng Kỹ thuật AZDIGI. Trong quá trình làm việc mình có cơ hội được tiếp xúc với khá nhiều các vấn đề liên quan đến Website/Hosting/VPS/Server, do đó mình viết lại các hướng dẫn này nhằm chia sẻ kiến thức, cũng như tạo một môi trường để chúng ta giao lưu và học hỏi lẫn nhau, trau dồi thêm nhiều kiến thức bổ ích hơn nữa.