Cài đặt SSL cho 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ố
Sau khi hoàn tất quá trình xác thực, bạn sẽ nhận được chứng chỉ ssl gồm nhiều định dạng khác nhau. 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 / hoặc nếu bạn tạo trực tuyến trên hệ thống thì bạn đã có sẵn trên chi tiết đơn hàng.
Từ dấu nhắc lệnh, hãy chạy lệnh sau:
1
|
cat certificate.cer intermediate.cer private.key>certificate.pem
|
2. Kiểm tra HAProxy đã hỗ trợ SSL
Từ dấu nhắc lệnh, hãy chạy lệnh sau:
1
|
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:
1
2
3
4
5
6
7
|
HA–Proxy version1.6.32015/12/25
[...]
Built with OpenSSL version:OpenSSL1.0.1e11Feb2013
Running on OpenSSL version:OpenSSL1.0.1e11Feb2013
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.
1
2
3
|
HA–Proxy version1.6.32015/12/25
[...]
Built with OpenSSL version:notset
|
Để 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:
1
2
3
4
5
6
7
|
yum install gcc pcre–staticpcre–devel openssl–devel mod_ssl–y
wget https://www.haproxy.org/download/1.7/src/haproxy-1.7.9.tar.gz
tar xzvf haproxy.tar.gz
cd haproxy–1.7.9
make TARGET=linux2628 USE_PCRE=1USE_OPENSSL=1USE_ZLIB=1USE_CRYPT_H=1USE_LIBCRYPT=1
make install
|
(Tham khảo từ nguồn: http://virgiawanpratama.blogspot.com/2017/10/how-to-install-haproxy-179-with-ssl-on.html)
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:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
frontend http_front
bind *:80
stats uri/haproxy?stats
default_backend http_back
frontend https_front
bind *:443ssl crt/etc/ssl/certificate.pem
reqaddX–Forwarded–Proto:https
backend http_back
balance roundrobin
server Server1<privateIP>:80check
server Server2<privateIP>:80check
|
Sau khi cấu hình xong, bạn hãy chạy lệnh sau để kiểm tra file cấu hình:
1
|
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.
1
|
service haproxy start
|
Lưu ý: Nếu server có cài đặt Firewall, bạn cần phải mở port 443 trên Firewall để có thể chạy HTTPS.
Nguồn: https://tenten.vn/help/cai-dat-ssl-cho-haproxy/