查看: 146|回复: 15

255

[复制链接]

17

主题

443

回帖

1075

积分

金牌会员

积分
1075
发表于 2020-2-5 14:17:54 | 显示全部楼层 |阅读模式
本帖最后由 370 于 2020-2-21 20:58 编辑

一.需求
服务器没被攻击之前能够使用优质线路提高国内访问速度
服务器被攻击之后能迅速切换到高防节点继续提供服务
攻击停止之后立刻切换回优质线路

二.一个实现方法

小鸡被攻击前,
用户  反代小鸡  cf  后端服务器

小鸡被攻击后
用户  cf(开启验证码与自动ip屏蔽)  后端服务器

设置方法
额外服务器运行定时脚本检测小鸡http返回代码,根据返回值来判断小鸡状态.
小鸡攻击开始:使用cf的api脚本切换cname到cf,并开启cf的验证码.后端服务器运行另外一个脚本检测自己负载,达到后使用cf脚本自动在cf中添加恶意ip.
小鸡攻击停止:使用cf的api脚本切换cname到小鸡.关闭cf验证码.

缺点
需要额外的一台小鸡运行检测脚本
使用dns切换过慢.考虑到脚本检测频率,即使设置TTL为2min,被攻击后切换依然很慢.

三.使用worker的实现方法

小鸡被攻击前,
用户  cf worker  反代小鸡   cf  后端服务器

小鸡被攻击后
用户  cf worker  cf(开启验证码与自动ip屏蔽)  后端服务器

设置方法
cf worker中检测小鸡状态
小鸡攻击开始:使用worker切换访问节点为cf,并开启cf的验证码.后端服务器运行另外一个脚本检测自己负载,达到后使用cf脚本自动在cf中添加恶意ip.
小鸡攻击停止:使用worker切换访问节点到小鸡.关闭cf验证码.

优点
不在需要额外的服务器运行检测脚本.
被攻击后worker的切换效率几乎是立即,比DNS方式生效快.
可以添加在worker中设置负载均衡,实现不同地区访问不同节点.

请教大佬上面的方式是否可行或是有理解错误的地方?
是否有更好的方式和改动?

回复

使用道具 举报

219

主题

2120

回帖

5067

积分

论坛元老

积分
5067
发表于 2020-2-5 14:27:42 | 显示全部楼层
搞的太复杂了


没攻击:要速度优先选HK机器,;
被攻击:备用机OVH就算知道IP也D不死,在OVH上套个CF;
做好MYSQL主从和网站Rsync同步,用DNSPOD做宕机切换,一般5分钟内就可以切换到备用机,当攻击停止又可以自动切换回HK。
回复

使用道具 举报

17

主题

443

回帖

1075

积分

金牌会员

积分
1075
 楼主| 发表于 2020-2-5 14:31:07 | 显示全部楼层
本帖最后由 370 于 2020-2-5 14:34 编辑

lonefly 发表于 2020-2-5 14:27

搞的太复杂了
没攻击:要速度优先选HK机器,;
被攻击:备用机OVH就算知道IP也D不死,在OVH上套个CF ...


明白大佬的意思,关键线路好的小鸡配置高比较贵.现在站点就放在小鸡上.跑起来配置已经不够了.
只是用作反代的话就不要那么高配置了,mysql和php这些都不用装.只要线路好就行.
成本也更低.
回复

使用道具 举报

17

主题

443

回帖

1075

积分

金牌会员

积分
1075
 楼主| 发表于 2020-2-5 14:27:00 | 显示全部楼层
回复

使用道具 举报

219

主题

2120

回帖

5067

积分

论坛元老

积分
5067
发表于 2020-2-5 14:32:12 | 显示全部楼层
访问量大的话你要担心的不是配置问题,是带宽

回复

使用道具 举报

17

主题

443

回帖

1075

积分

金牌会员

积分
1075
 楼主| 发表于 2020-2-5 14:38:53 | 显示全部楼层

lonefly 发表于 2020-2-5 14:38

访问量大的话你要担心的不是配置问题,是带宽


带宽,内存.硬盘IO的负载都非常小.
只是cpu经常负载高.经常502.
再说使用dns切换的速度的确优点慢.


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

8

主题

124

回帖

308

积分

中级会员

积分
308
发表于 2020-2-5 14:44:48 | 显示全部楼层
本帖最后由 370 于 2020-2-5 14:59 编辑

wweng 发表于 2020-2-5 14:51

用cf-worker的话 用户请求似乎都会先到cf 速度快的小鸡就失去优势了


去程的话应该不要紧吧.
现在不少小鸡也是去程163.回程gia.效果还可以.
回复

使用道具 举报

17

主题

443

回帖

1075

积分

金牌会员

积分
1075
 楼主| 发表于 2020-2-5 14:38:00 | 显示全部楼层

wweng 发表于 2020-2-5 15:07

用户  cf worker  反代小鸡
用户端来回都是cf,gia也没用啊

大佬,是我理解错了吗?
看了下
https://www.codiva.io/blog/post/custom-load-balancing-with-cloudflare-worker/
应该是直接发送请求到反代小鸡,然后由小鸡返回? 本帖最后由 370 于 2020-2-5 15:27 编辑

wweng 发表于 2020-2-5 15:20

他这文章是用cf worker做load balance(负载均衡)...
负载均衡自然是来回流量都经过cf的 ...


收到!
好像的确是这样.
回复

使用道具 举报

8

主题

124

回帖

308

积分

中级会员

积分
308
发表于 2020-2-5 14:51:49 | 显示全部楼层

wweng 发表于 2020-2-5 15:20

他这文章是用cf worker做load balance(负载均衡)...
负载均衡自然是来回流量都经过cf的 ...

worker
应该是可以用js实现只转发请求?
回复

使用道具 举报

0

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2020-2-5 14:54:56 | 显示全部楼层
这样和直接解析到CF我感觉没区别啊,流量全都经过CF
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
关注公众号
返回顶部