康生 大佬有话说 :
又一家cdn求测试
本帖最后由 康生 于 2020-4-8 10:39 编辑
www.bzza.com (请自行手动输入到浏览器地址栏,不要复制)
默认br压缩,压缩率比gzip高不少的.。
最低支持tls1.2、支持tls1.3。
免费https证书,支持http2.0,智能从http跳转307到https保护你的客户安全,浏览器不支持https的不会跳.
使用步骤:
1、登录网站www.bzza.com,注册、验证email、登录。
2、进入系统后点击左边的zones,然后点击add zone.
3、在页面中填写zone name(要小写+数字,会根据这个生成一个二级域名的),例如填入hoistloc.
自定义一个外人难以猜解比较长的域名如https://sq28sjkcy82slx92en9x2m_sdsd2alx24f.hostloc.com(注意不需要在最后加/)填入到Origin URL,这样外人就很难猜解你的源域名,后面可以iptables或nginx限制请求header只能带指定属性的请求来防止外界直接访问源。
然后点击“Show Advanced Features“。自定义自己的cdn属性,如果要使用www.bzza.com让外界访问的,那就Forward Host Header中选enable,然后在页面左边的Zone Aliaes中添加www.hostloc.com。
4、把www.hostloc.com的cname指向系统自动在你添加zone后生成的zone url如126-p7sos.bzza.com
5、sq28sjkcy82slx92en9x2m_sdsd2alx24f.hostloc.com的A记录指向你的源ip
6、默认带cookies文件(页面)是不缓存的,所以适合动态加速,如果需要强制缓存带cookie页面请设置cache cookies为enable.
7、默认是先看源站中的http header中的cache-control之类的缓存时间进行节点缓存的,要强制缓存,不理会cache-control之类,请设置Ignore Cache Control为enable,不建议开启,一般遵守你网站的程序代码,除非你非常了解你网站,或者需要全静态。
8、如果你在zone Aliaes设置了多个域名指向同一个zone,并需要缓存时候区分不同的host,请设置Cache Key Host为enable,同时设置Forward Host Header为enable。
9、默认是帮你申请letsencrypt证书的如果你设置添加一个自己的域名到zone Aliaes的话,提前是你域名正确cname指向到系统帮你生成的二级域名中,你也可以自定义自己的证书,请选择ssl—>custom。
效果展示:
1、此为cache hit中的,服务器处理时间0ms,使用http2.0,tls1.3
https://s1.ax1x.com/2020/04/04/G00Q8x.png
https://s1.ax1x.com/2020/04/04/G00fGq.png
2、此为调用其他node节点缓存数据的,当发现自己节点内存跟硬盘都没有缓存的时候就会主动在其他节点中取得缓存而不是到源服务器去取。
https://s1.ax1x.com/2020/04/08/G2X4XD.png
3、还有一种大概浪费0-5ms是从硬盘读取缓存的,就是说没有在内存中缓存到只有硬盘有,这里暂时没搞到图片。
CDN使用统计、报告:
1、实时日志
https://s1.ax1x.com/2020/04/07/G2ncX4.png
2、图表展示缓存、文件大小类型、http status状态
https://s1.ax1x.com/2020/04/08/G2qbt0.png
3、分时段分地区分不同zone的流量统计,左到右分别是流量、请求次数、缓存命中率
https://s1.ax1x.com/2020/04/08/G2XufP.png
测试例子:
https://baidu-ze08q.bzza.com
这个是设置了百度作为源站的,同时开启Ignore Cache Control、Cache Cookies。
因为百度首页是设置了cache-control:max-age=1的,如果不开启Ignore Cache Control,本cdn就遵守人家程序规则缓存1秒.
同时百度页面带有cookie所以本来是不缓存的,开启了Cache Cookies后缓存了.
所以本cdn同时兼容动态网站、静态网站。
现在所有访问这个域名的所有都会缓存了,例如https://baidu-ze08q.bzza.com/s?ie=utf-8&tn=baidu&wd=bzza.com
TODO:
1、扣费系统
2、推荐系统部分需要等待扣费系统才能做
3、http ddos防御系统,这里我将用到websocket、js、cookies、浏览器端口递增的规则等特性去完成。就是说不能处理js、cookies、websocket的都不是浏览器算入http ddos攻击假使服务器繁忙时!
4、实时上传系统使用数据如带宽上下行、cpu、硬盘、内存占用情况等
5、还有更多还未列出
感谢测试!尤其websocket部分!
mtx 大佬有话说 :
https://ae01.alicdn.com/kf/Hf77d63812270471fae46c9b0e34da158C.png
域名也是在这里收购的?
赤壁防红 大佬有话说 :
这是反代人家官网?http://www.keycdn.com/
work 大佬有话说 :
看得真难受啊
康生 大佬有话说 :
本帖最后由 康生 于 2020-4-6 01:04 编辑
hkbtele 大佬有话说 : 2020-4-5 22:00
我意思是你这个CDN系统的节点管理上线下线是基于自己的DNS还是第三方的DNS? …
你好是自己写的dns系统,自己解析自己的A、txt、mx、ns、soa等记录。
node节点部署上线很简单的,只需要在新服务器运行node执行文件,配置好toml文件,填写基本的信息如内存、带宽上下行大小(动态切换节点均衡负责需要)、ip、位置、经纬度坐标(选填)、线路标签如“广东电信”、cpu核心数、硬盘可用大小、mq消息队列基本信息、cahce缓存基本信息如路径、用户内存缓存最大多少等、、、、
整个cdn系统都是自己写的,除了前端是抄袭的外,商业运作肯定要招聘一个前端修改一下。
现在还是代码开发阶段,监控切换等已经写好的都没有部署,国内很多isp的dns服务器都已经支持edns,所以可以做到0ttl,就是可以做到不缓存即实时切换ip,当然真正的商业运作项目肯定要上anycast。
anycast 要好几组:
1、待观察组,用户注册使用的网站首先进入待观察ip组,免得引起被墙封ip
2、普通网页组用于加速web页面、文件等
3、大流量视频组
4、被ddos特别处理组(其他组都具备ddos处理能力,但是怕影响)
5、引发国内封ip组
反正有一个专门的手动dns管理web平台用于人工处理!
Eicky 大佬有话说 :
这啥玩意?
hasamol7468 大佬有话说 :
奇怪的商家增加了:lol
https://s1.ax1x.com/2020/03/23/8oXE5t.jpg
xyk 大佬有话说 :
卡出屎了
soohn 大佬有话说 :
关键是速度怎么样
先容我水一发 大佬有话说 :
首先需要接受mjj的枪林炮雨,能活下来才可能说是个优秀的CDN
赤壁防红 大佬有话说 :
先容我水一发 大佬有话说 : 2020-4-4 21:43
首先需要接受mjj的枪林炮雨,能活下来才可能说是个优秀的CDN
登录页面已经挂了
silence 大佬有话说 :
本帖最后由 silence 于 2020-4-4 22:21 编辑
你的连接不是专用连接
攻击者可能试图从 bzza.com 窃取你的信息(例如,密码、消息或信用卡)。
NET::ERR_CERT_COMMON_NAME_INVALID
此服务器无法证明它是 bzza.com;它的安全证书来自 *.bzza.com。这可能是由配置错误或者有攻击者截获你的连接而导致的。
继续访问 bzza.com (不安全)
edge浏览器