Các bước cơ bản cài đặt SSL cho HAProxy

  • Wednesday 26/05/2021

Hướng dẫn cài đặt SSL cho HAProxy

haproxy-logo

HAProxy

Để cài đặt SSL cho HAProxy, bạn thực hiện theo các bước sau đây:

1. Chuẩn bị bộ chứng thư số (SSL)

Sau khi hoàn tất quá trình xác thực, bạn sẽ nhận được chứng thư số gồm 2 file là: certificate.cer và intermediate.cer (hoặc cabundle.cer). Bạn sẽ cần kết hợp 2 file này với private key mà bạn đã tạo ra trong quá trình tạo CSR.

Chạy lệnh sau:

cat certificate.cer intermediate.cer private.key > certificate.pem

2. Kiểm tra HAProxy đã hỗ trợ SSL

Chạy lệnh sau:

haproxy -vv

Nếu kết quả trả về có thông tin dạng như sau, thì có nghĩa là HAProxy đã hỗ trợ SSL:

HA-Proxy version 1.5.18 2016/05/10
Copyright 2000-2016 Willy Tarreau <willy@haproxy.org>

Default settings :
maxconn = 2000, bufsize = 16384, maxrewrite = 8192, maxpollevents = 200

Encrypted password support via crypt(3): yes
Built with zlib version : 1.2.7
Compression algorithms supported : identity, deflate, gzip
Built with OpenSSL version : OpenSSL 1.0.1e-fips 11 Feb 2013
Running on OpenSSL version : OpenSSL 1.0.1e-fips 11 Feb 2013
OpenSSL library supports TLS extensions : yes
OpenSSL library supports SNI : yes
OpenSSL library supports prefer-server-ciphers : yes

Ngược lại, nếu bạn thấy kết quả như sau, thì bạn cần phải build lại HAProxy hỗ trợ SSL.

HA-Proxy version 1.5.18 2016/05/10
[…]
Built with OpenSSL version : not set

Để cài đặt HAProxy hỗ trợ SSL, bạn cần backup file cấu hình, xóa bản HAProxy đã cài đặt, sau đó cài đặt lại bản HAProxy có hỗ trợ SSL. Ví dụ sau là cài đặt HAProxy trên CentOS 7:

yum install gcc pcre-static pcre-devel openssl-devel mod_ssl -y
wget https://www.haproxy.org/download/1.8/src/haproxy-1.8.29.tar.gz
tar xzvf haproxy.tar.gz
cd haproxy-1.8.29
make TARGET=linux2628 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_CRYPT_H=1 USE_LIBCRYPT=1
make install

3. Cấu hình SSL cho HAProxy

Mở file cấu hình HAProxy /etc/haproxy/haproxy.cfg và chỉnh sửa lại:

frontend http_front
bind *:80
stats uri /haproxy?stats
default_backend http_back

frontend https_front
bind *:443 ssl crt /etc/ssl/certificate.pem
reqadd X-Forwarded-Proto:\ https

backend http_back
balance roundrobin
server Server1 <private IP>:80 check
server Server2 <private IP>:80 check

Sau khi cấu hình xong, bạn hãy chạy lệnh sau để kiểm tra file cấu hình:

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

Sau khi test cấu hình thành công, bạn hãy restart lại HAProxy để cấu hình có hiệu lực.

service haproxy start

Lưu ý:

Nếu server có cấu hình Firewall, bạn cần phải mở port 443 trên Firewall để có thể chạy HTTPS.

Sau khi cài đặt, bạn có thể kiểm tra lại cert đã được cài đặt đúng hay chưa bằng công cụ sau: https://www.sslshopper.com/ssl-checker.html

Qúy khách có thể tham khảo các gói SSL do P.A Việt Nam cung cấp tại đây

Tham khảo thêm các bài viết liên quan tới SSL tại đây 

Tham khảo dịch vụ VPS – Server tại P.A Việt Nam
https://www.pavietnam.vn/vn/vps-server.html

Nhận nhiều thông tin khuyến mãi – ưu đãi tại P.A Việt Nam
https://www.pavietnam.vn/vn/tin-tuc-chuong-trinh-khuyen-mai-ten-mien-hosting.html

Rate this post