近日测试了下cdnfly开心版搭建,亲测可用,搭建着玩玩可以,切勿商用哦!
CDNFly是基于openresty,以lua脚本语言开发的防cc攻击软件。而openresty是集成了高性能web服务器Nginx,以及一系列的Nginx模块,这其中最重要的,也是我们主要用到的nginx lua模块。CDNFly基于nginx lua开发,继承了nginx高并发,高性能的特点,可以以非常小的性能损耗来防范大规模的cc攻击。
参考地址:https://github.com/LoveesYe/cdnflydadao
官方使用文档:http://doc.cdnfly.cn
网上大佬分享的,通过自建验证Sever来通过CDNFLY系统的验证,不改动系统文件,仅仅是Hook了验证模块。
cdnfly通过改hosts破解授权方法:
nginx伪静态:
location / { if (!-e $request_filename){ rewrite ^(.*)$ /index.php/$1 last; break; } }
首先用github源码搭建一个站点,绑定域名auth.cdnfly.cn,注意需要配置伪静态,然后在需要搭建主控的节点上,修改hosts,将 auth.cdnfly.cn 指向刚才的服务器IP
1.主控服务器
web目录为验证文件,请自行搭建
0.0.0.0改成(自己搭建的验证服务器Ip)
vi /etc/hosts
0.0.0.0 auth.cdnfly.cn monitor.cdnfly.cn
0.0.0.0 auth.cdnfly.cn monitor.cdnfly.cn
2.主控安装脚本:
v5.1.11版本安装脚本:
curl -fsSL https://github.com/LoveesYe/cdnflydadao/raw/main/master.sh -o master.sh && chmod +x master.sh && ./master.sh --es-dir /home/es
新v5.1.13版本安装脚本:
curl -fsSL https://github.com/LoveesYe/cdnflydadao/raw/main/cdnfly/v5.1.13/master/master.sh -o master.sh && chmod +x master.sh && ./master.sh --es-dir /home/es
3.节点安装脚本:(脚本最后的--master-ip ip --es-ip ip --es-pwd passwd 参考主控:系统管理-系统升级-节点管理代码)
v5.1.15版本安装脚本:
curl -fsSL -m 5 https://github.com/LoveesYe/cdnflydadao/raw/main/agent/agent.sh -o agent.sh || curl -m 5 https://github.com/LoveesYe/cdnflydadao/raw/main/agent/agent.sh -o agent.sh && chmod +x agent.sh && ./agent.sh --master-ver v5.1.11 --master-ip ip --es-ip ip --es-pwd passwd
新v5.1.16版本安装脚本:
curl -fsSL -m 5 https://github.com/LoveesYe/cdnflydadao/raw/main/cdnfly/v5.1.13/agent/agent.sh -o agent.sh || curl -m 5 https://github.com/LoveesYe/cdnflydadao/raw/main/cdnfly/v5.1.13/agent/agent.sh -o agent.sh && chmod +x agent.sh && ./agent.sh --master-ver v5.1.13 --master-ip ip --es-ip ip --es-pwd passwd
4.已安装过官方版的开心方法:
执行以下命令完成开心:
wget https://github.com/LoveesYe/cdnflydadao/raw/main/cdnfly/api.py -O /opt/venv/lib/python2.7/site-packages/requests/api.py supervisorctl -c /opt/cdnfly/master/conf/supervisord.conf reload
如果旧版本要升级,可以先更新自建云端的文件,然后执行“已安装过官方版的开心方法”这一部分的命令,最后在主控后台升级。
5.云端节点监控功能说明:
监控默认是使用云端服务器去请求CDN节点,因此要保持云端和CDN节点之间的网络畅通。另外如果是用宝塔面板,php不要安装bt_safe扩展,否则无法使用tcp类型监控;如果要用ping类型监控,还需要允许exec函数。支持多节点监控(和官方一样),要添加其它监控节点,可以编辑config.php配置文件,根据里面的注释说明添加。
修改为你自身安装节点,或使用默认的github节点安装:/opt/cdnfly/master/panel/src/views/system/update/index.html
6.最后
主控登录地址为: http://主控IP/,管理员账号和密码: admin/cdnfly,普通用户账号和密码: jason/cdnfly
服务器配置要求:
主控
1.内存 - 因为主控安装有Elasticsearch,推荐16G及以上,如果网站访问量比较小,8G也行,至少4G。
2.硬盘 - 建议固态硬盘, 同样考虑访问日志大小,推荐100G及以上,量小的话都可以。
3.CPU - CPU至少2核
4.开放80 88 9200端口
节点
1.内存 - 至少2G及以上
2.硬盘 - 根据网站缓存的大小配置
3.CPU - Nginx主要是跑CPU,所以要想访问性能好,CPU尽量好点。
4.开放80 443 5000端口
系统
支持Centos-7---Ubuntu-16.04
尊敬的cdnfly用户:目前发现登录安全漏洞,需要及时按照如下方法来临时修复。找-个只有你知道的域名,这个域名用于管理员登录。如的域名,不用带http://,路径为:系统管理--->系统设置--->用户相关,限制管理员只能从此域名登录
至于脚本最好本地备份下,若github失效,可以对照本地脚本继续使用。