[Haproxy] Cài đặt và cấu hình HAProxy trên centos

HAProxy là phần mềm mã nguồn mở, miễn phí cung cấp bộ cân bằng tải. Máy chủ proxy có tính khả dụng cao cho các ứng dụng dựa trên TCP và HTTP, truyền yêu cầu trên nhiều máy chủ.

1. Cài đặt haproxy.

yum install haproxy

 2. Cấu hình haproxy cho SELinux và HTTP.

vi /etc/firewalld/services/haproxy-http.xml

Thêm nội dung như bên dưới:

<?xml version="1.0" encoding="utf-8"?>
<service>
<short>HAProxy-HTTP</short>
<description>HAProxy load-balancer</description>
<port protocol="tcp" port="80"/>
</service>

Gán quyền SELinux context và file permissions cho file haproxy-http.xml.

cd /etc/firewalld/services
restorecon haproxy-http.xml
chmod 640 haproxy-http.xml

3. Nếu bạn sử dụng HTTPS, hãy cấu hình haproxy cho SELinux và HTTPS.

vi /etc/firewalld/services/haproxy-https.xml

Thêm vào nội dung sau:

<?xml version="1.0" encoding="utf-8"?>
<service>
<short>HAProxy-HTTPS</short>
<description>HAProxy load-balancer</description>
<port protocol="tcp" port="443"/>
</service>

Gán quyền SELinux context và file permissions cho file haproxy-https.xml.

cd /etc/firewalld/services
restorecon haproxy-https.xml chmod 640 haproxy-https.xml

4. Nếu bạn định sử dụng HTTPS, hãy tạo khóa cho SSL. Nếu bạn chưa có chứng chỉ, bạn có thể sử dụng chứng chỉ tự ký (self-signed certificate).

Cuối cùng, đặt chứng chỉ và khóa vào tệp PEM.
cat example.com.crt intermediate.cer example.com.key > example.com.pem cp example.com.pem /etc/ssl/private/

5. Cấu hình HAProxy.

vi /etc/haproxy/haproxy.cfg

Phần chung và phần mặc định của haproxy.cfg có thể không thay đổi. Sau phần mặc định, bạn sẽ cần phải định cấu hình phần frontend and backend, như trong ví dụ sau:

frontend http_web *:80
    mode http
    default_backend rgw
frontend rgw­-https
  bind <insert vip ipv4>:443 ssl crt /etc/ssl/private/example.com.pem
  default_backend rgw
backend rgw
    balance roundrobin
    mode http
    http-check expect status 200
    cookie SERVERID insert indirect nocache
    server  rgw1 10.0.0.71:443 check ssl verify none
    server  rgw2 10.0.0.80:443 check ssl verify none

6. Enable và start haproxy

systemctl enable haproxy
systemctl start haproxy

Chúc các bạn thành công.

Bình luận