共计 1829 个字符,预计需要花费 5 分钟才能阅读完成。
导读 | 本文将简单介绍使用 HAProxy 实现 web 负载均衡,主要内容包括基于权重的轮询、为 HAProxy 配置 https、配置 http 重定向为 https、配置 HAProxy 使用独立日志。 |
主机名:RH7-HAProxy
IP 地址:192.168.10.20
操作系统:Red Hat Enterprise Linux Server release 7.2 (Maipo) 最小化安装
防火墙与 SELinux:关闭
安装的服务:HAProxy-1.5.14
主机名:RH7-Web-01
IP 地址:192.168.10.21
操作系统:Red Hat Enterprise Linux Server release 7.2 (Maipo) 最小化安装
防火墙与 SELinux:关闭
安装的服务:Apache-httpd 2.4
主机名:RH7-Web-02
IP 地址:192.168.10.22
操作系统:Red Hat Enterprise Linux Server release 7.2 (Maipo) 最小化安装
防火墙与 SELinux:关闭
安装的服务:Apache-httpd 2.4
1、使用浏览器访问两台 web 的 IP 地址,能成功访问到不同的页面,方便我们后面直观地观察负载均衡的效果。由于 Apache 的安装配置不是本文重点,具体可参考本人之前的博文《RedHat 7 安装配置 Apache 2.4》
2、在 RH7-HAProxy 上也访问一下两台 Web,确认也可以正常访问
[root@RH7-HAProxy~]yum -y install haproxy
[root@RH7-HAProxy~]systemctl start haproxy
[root@RH7-HAProxy~]systemctl enable haproxy
[root@RH7-HAProxy~]mv /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak
[root@RH7-HAProxy~]vi /etc/haproxy/haproxy.cfg
增加以下内容,然后重启 haproxy 服务
使用浏览器访问 HAProxy 的 IP 地址,多次刷新,成功实现轮询访问 web01 和 web02
登录 haproxy 的后台
可以看到访问 web01 和 web02 的相关统计数据
修改 haproxy 的配置文件,将 web01 的权重改为 3,web02 的权重仍为 1,这样访问到两台 web 的比例应该为 3:1,改好后重启下 haproxy 服务
再次通过浏览器访问 HAProxy 的 IP 地址,多次刷新进行访问测试
再次登录 HAProxy 后台查看统计数据,可以看到访问到 web01 和 web02 的比例为 3:1
采用客户端到 HAProxy 使用 https、HAProxy 到 WEB 端使用 http 的方式,只需要在 HAProxy 上配置证书,这里我们就配置一张自签名证书来测试一下
查看一下配置好的证书 jiangjianlong.pem
修改 HAProxy 的配置文件,增加以下参数后重启 haproxy 服务
使用 https 协议访问 HAProxy 的 IP 地址,提示证书存在问题,这是因为自签名证书不受浏览器信任,但说明上文配置的证书已经生效了,点击继续浏览此网站
成功访问到 Web01 页面,刷新也能访问到 Web02, 说明在 https 的加密访问下负载均衡也没问题
通过 hosts 解析配置一个域名指向 HAProxy 的 IP 地址,也能正常访问
查看下证书信息,跟我们创建的证书信息一致
配置 http 重定向,自动将 http 重定向为 https, 修改 haproxy 配置文件,增加以下参数,并重启服务
使用浏览器测试,成功实现 http 自动重定向为 https 进行访问,但由于截图无法呈现这个动态的效果,就不截了。
1、HAProxy 的日志默认写入到系统日志中去,我们可以把它独立出来,方便排查管理。编辑 /etc/rsyslog.conf,按下图进行修改
2、重启 rsyslog 服务,再通过浏览器访问一下 web 以便产生日志,然后查看 /var/log/haproxy.log,发现日志已经按照我们上文所配置的那样,记录到 /var/log/haproxy.log 来了