[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.