Kangle多节点设置说明
权重
权重越高,处理的数据量越大,可填写0-10数值。如多节点服务器群中的服务器有可能具有不同的硬件配置,可以考虑设置不同的权重。权重为0:表示是备用节点,当所有节点服务器出现故障时,系统将自动启用备用节点服务器继续提供服务。使网络具有高稳定性和高可用性。
Ip哈希
基于ip的稳定连接。使来源机器的会话保持连续,即:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题,对于一个特定的请求,如果所申请的服务器不能进行处理,其他的服务器可以马上取代它的位置,对所申请的请求进行处理,这一过程对用户感觉来说,服务是稳定、连续的。
Cookie粘住:
在说明cookie粘住前,先在此先简要说明一下什么是cookie。简单的说,Cookie就是服务器暂存放在您计算机上的一笔资料,好让服务器用来辨认你的计算机。根据请求用户的cooki分配固定的一个后端服务器进行服务。说明:在同时使用ip哈希和cookie粘住时,以cookie粘住优先。
错误重试时间(秒):
如果某个节点服务器连不上,自动会从其它节点服务器上连接。每隔设定的错误重试时间,又会尝试去连接该节点服务器。
连接错误次数
当某个节点服务器没连通,系统会把分配给该节点服务的请求转给其它节点服务,同时每隔设定的错误重试时间会自动去连接该节点,如发现能连通,作上线处理。反之,没连通并且连续连接错误次数达到“连接错误次数设定值”后,kangle会认为这台节点有故障,并作下线处理。节点作下线处理后,kangle不会再把请求发送到该节点。
相关概念
反向代理,也就是Reverse Proxy,大致结构:
接下来是cdn:
cdn可以看成是有个智能调控,多台服务器的反向代理集群
搭建方法/流程
如何使用Kangle搭建负载均衡
这里用三台Server做演示
节点有
美国西海岸[访问速度快,性能优秀,做主服务器(Master)]
欧洲西部[访问速度中等,性能中等,做从服务器(Slave_00) ]
俄罗斯远东地区[访问速度快,性能差,做从服务器(Slave_11)]
*主服务器一定要性能优秀,最好有防御DDoS拒绝攻击的能力,不然Master Down掉了后面的Slave也无用武之地
首先在三台服务器上都部署KangleWebServer
部署完毕后,打开Master的3311控制面板
点击扩展
按照图中顺序进入设置界面
名字:CDN
协议:http
ip哈希:勾选
*ip哈希 也就是 ipHash,它的作用是把访客IP换算成一个固定的Hash值,然后分配固定的服务器
错误重试时间:30秒
连续错误次数:5次,超过自动判定为Slave宕机,并下架Slave
增加一个Slave
主机地址写Slave_00的地址
权重就是分配访客的关键
比如总权重是5,Slave_00权重为3,Slave_11权重为2,那么100个访客会有60个访问Salve_00,有40个访问Salve_11
以上设置,就成了有两个节点的负载均衡
只需要把域名解析到主服务器即可
点击请求控制,插入
之后在出来的输入框内填入域名,多域名需要用|符分隔
提交后如图
然后配置SlaveServer
两台SlaveServer
图:反向代理的配置方法
标记模块和匹配模块都选择host
到这里,就已经Succeed了
首次访问速度取决于Master服务器的速度
配合Dynamic DNS Server可以作为cdn使用
更多节点以此类推
防CC设置
1、进入管理后台后,点左侧菜单的“请求控制”,在弹出的页面BEGIN下面的第一栏,点“插入”,进入新的页面;
2、弹出“请求控制Begin”页面,在name中输入一个名称,可以写中文名称,在“可用的标记模块”选择“anti_cc”,网页自动跳转到下一个页面;
3、跳转到的页面,按照下图中的画圈处的数值一一填入,这一步最关键,不能填错,勾选white list(白名单)、fix_url(地址栏显示优化)、skip_cache(忽略高速缓存),最后一个flush不勾选,如下图:
上图中间的代码如下,直接复制上去就可以了。
下面这段使用的是js 200跳转防护模式,现在效果还是不错的
HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 Connection: keep-alive Cache-Control: no-cache,no-store Recaptcha: sakura <html><body><script language="javascript">window.location="{{url}}";</script><a href="{{url}}"><div class="notice"> <div class="title">You have verified successfully</div> <div class="description">Please wait, you are being redirected ...</div> </div></a></body></html>
4、根据按照图上设置,10秒内达8次请求,就会启用CC防护,能完美防护大量常见CC模式,(如果因为攻击太小,有漏的就启用0 0模式,完美0漏CC验证),并且不会出现网址上带一串链接的情况,上面规则已经测试非常好用了。
5、经过上面几步,请求控制已经设置完毕,等待域名解析生效,访问被CC的网站域名,如果防CC程序生效,一般在输入域名后,网站左上角会显示一个“Continue”字样,很快又会正常跳转到网站首页,网站这个时候应该可以快速打开首页了,就是说防CC成功,网站正常访问了,能够达到这个效果,说明防CC程序一切设置正确且有效。到这一步就完成设置了,一般CC你的网站是可以经得住考验了。
其它配置:
配置-缓存
路径:配置 - 缓存;
根据自己服务器的配置自行调节
内存缓存:20M
磁盘缓存:5G
磁盘缓存目录:设置为空,点击“格式化磁盘缓存目录” 让系统生成缓存目录,不会对你整个磁盘格式化。
磁盘清理和扫描时间: 注意 有空格的,最好复制过去,设置的是凌晨1点-6点系统对磁盘进行扫描和清理缓存。
* 1-6 * * * //凌晨1点-6点系统对磁盘进行扫描和清理缓存。
30 5-6 * * * //每天5:30 6:30时启动
最大缓存网页(普通):2M
默认缓存时间:600秒
绑定域名方法二:
1. 扩展 - 增加单点服务器;
2. 请求控制 - 新增加域名:
“目标”选择对应的单点服务器名称;
“name”:随便起个名字;
“可用的匹配模块”选择“host”输入对应的域名。
重置kangle密码
打开服务器文件 路径:/vhs/kangle/etc/config.xml
修改为如下
<admin user='admin' password='kangle' admin_ips='127.0.0.1|*'/>
然后使用Xshell运行以下命令重载配置文件即可
/vhs/kangle/bin/kangle -r
Kangle容器安装
方法:支持:centos6/7
docker run -itd --name kangle -p 20:20 -p 21:21 -p 80:80 -p 443:443 -p 3311:3311 -p 3312:3312 -p 3313:3313 centos:7
再使用安装命令安装。
隐藏内容,登录查看。
注:如不能打开界面,登陆容器检查是否启动,重启:
/vhs/kangle/bin/kangle --reboot
其它相关
隐藏内容,登录查看。
http://www.savh.cn/thread-1381.htm
转载请注明:Savh.Cn 发表