A.4. 安装和配置 HAProxy
在两个 HAProxy 节点上执行以下步骤:
- 安装
haproxy
。#
yum install haproxy
- 为 SELinux 和 HTTP 配置
haproxy
。#
vim /etc/firewalld/services/haproxy-http.xml
添加以下行:<?xml version="1.0" encoding="utf-8"?> <service> <short>HAProxy-HTTP</short> <description>HAProxy load-balancer</description> <port protocol="tcp" port="80"/> </service>
以 root 用户身份,为haproxy-http.xml
文件分配正确的 SELinux 上下文和文件权限。#
cd /etc/firewalld/services
#restorecon haproxy-http.xml
#chmod 640 haproxy-http.xml
- 如果要使用 HTTPS,请为 SELinux 和 HTTPS 配置
haproxy
。#
vim /etc/firewalld/services/haproxy-https.xml
添加以下行:<?xml version="1.0" encoding="utf-8"?> <service> <short>HAProxy-HTTPS</short> <description>HAProxy load-balancer</description> <port protocol="tcp" port="443"/> </service>
以 root 用户身份,为haproxy-https.xml
文件分配正确的 SELinux 上下文和文件权限。#
cd /etc/firewalld/services
#restorecon haproxy-https.xml
#chmod 640 haproxy-https.xml
- 如果您打算使用 HTTPS,请为 SSL 生成密钥。如果您没有证书,您可以使用自签名证书。有关生成密钥和自签名证书的详情,请参考 Red Hat Enterprise Linux 系统管理员指南。最后,将证书和密钥放入 PEM 文件中。
#
cat example.com.crt example.com.key > example.com.pem
#cp example.com.pem /etc/ssl/private/
- 配置 HAProxy.
#
vim /etc/haproxy/haproxy.cfg
haproxy.cfg
的global
和defaults
部分可能会保持不变。在defaults
部分后,您需要配置frontend
和backend
部分,如下例所示: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 server rgw1 10.0.0.71:80 check server rgw2 10.0.0.80:80 check
- enable/start haproxy
#
systemctl enable haproxy
#systemctl start haproxy