负载均衡集群三

补充知识

在这里插入图片描述

架构演变

在这里插入图片描述
在这里插入图片描述

实验步骤

1.先确保没有其他调度器的干扰
在这里插入图片描述
2.在computer1上安装haproxy
在这里插入图片描述
3.编辑/etc/haproxy/haproxy.cfg文件
这里haproxy的mode工作模式是http,即工作在第七层(haproxy也可以工作在第四层)。
(1)先将这六行注释掉,只留一个app。另外,将端口改成80,这样后端的端口可以不为80。
在这里插入图片描述
这里computer3和computer4是仅开启了apache服务的web服务器。
在这里插入图片描述
4.启动haproxy
在这里插入图片描述
haproxy占用了端口80,因此我们不能同时开启httpd服务。
在这里插入图片描述
5.测试
这里使用computer2测试,发现不需要定义vip,computer1的ip地址就是vip。
在这里插入图片描述
haproxy拥有健康检查功能,每次都会检测至少三次。当停掉computer3的httpd服务时
在这里插入图片描述
访问失败
在这里插入图片描述
重新开启computer3上的httpd服务
在这里插入图片描述
重新测试,发现访问又恢复正常。
在这里插入图片描述
补充:还可以使用haproxy自带的监控功能
在这里插入图片描述
在这里插入图片描述
访问对应的路由即可
在这里插入图片描述
6.添加日志功能
编辑/etc/sysconfig/rsyslog文件,添加一个-r参数表示接受。
在这里插入图片描述
在这里插入图片描述
编辑/etc/rsyslog.conf文件
添加local2这一行表示将haproxy的日志存放在local2中
在这里插入图片描述
另外,我们让local2的日志不要存储在/var/log/messages中。
在这里插入图片描述
在这里插入图片描述
在computer2上访问一次computer1
在这里插入图片描述
发现出现了haproxy.log
在这里插入图片描述
7.**认证功能
还可以**5秒刷新功能
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
输入密码之后成功进入,会发现监控界面5秒刷新一次。
在这里插入图片描述
8.session保持
使用source算法,表示只要发起请求的源地址不变,调度也就不变。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
9.权重
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
10.backup
假设所有的RS挂掉了怎么办呢?这里可以使用本机作为backup,当所有RS挂掉后,会访问本机的资源。
在这里插入图片描述
这里将httpd服务端口改为8000(如果设置为80会和haproxy冲突)
在这里插入图片描述
在这里插入图片描述
同时修改默认发布页面
在这里插入图片描述
在这里插入图片描述
down掉computer3和computer4
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
11.访问控制
blacklist:自己定义的acl表名字
src:源地址 src_port:源端口(同理还有目标地址dest,目标端口dest_port)
block if:禁止访问
在这里插入图片描述
使用reload更好一些,这样不会中断服务。
在这里插入图片描述
发现computer2访问被拒绝
在这里插入图片描述
上述错误展示的不太美观,加入errorloc定向403这个错误类型到192.168.1.10:8000上去(curl无法呈现定向的页面,这里使用浏览器访问)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如何拒绝访问部分页面?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
直接重定向,也可以定向到百度等等。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述