Web安全优化+访问速度提升实战&免费CDN评测「安全与加速」

Web安全优化+访问速度提升实战&免费CDN评测「安全与加速」

前言

什么是「CDN」

CDN(Content Delivery Network)是一种分布式网络服务,通过将内容缓存到离用户更近的服务器上(即各地的CDN节点),来提高网站和应用程序的加载速度和性能,不必直接访问主站。

为什么要「CDN」

其实我打算上CDN倒不是为了全球加速什么的,这些都是其次。真正的原因,还是安全问题

以前都是直接域名绑定服务器IP的,访问很快没什么问题。后来了解到这样其实非常危险⚠️,暴露了源站IP,如果有人发起攻击就是死局。于是在浅浅学习了一下解决办法后,决定使用CDN服务实现隐藏源站IP、解析显示多个IP的效果。

那么,开始实战吧。


实战

雷池WAF / 自建防火墙

前面说到,上CDN不是为了加速,主要还是为了安全。那有没有可能直接部署一个防火墙WAF在另一个服务器上,检查安全后再返回呢,特别是刷到国产开源WAF雷池的相关内容,决定试试自己部署安全防火墙(肉机)。

看到标题,你应该也猜到我最终还是选择了CDN。

直接说结论吧,显著的优缺点如下:

  • 优点:除了免费开源外,还包括雷池WAF本身的实力强劲,能通过语意分析等智能识别。界面简洁一目了然,配置选项也较为丰富。

  • 缺点:主要是部署方面导致的问题,因为只能使用自己的服务器部署,所以节点基本就1-2个,如果遭受攻击也容易造成瘫痪。另外运行雷池至少需要占用约1G的运存,免费版最高300QPS(与服务器性能也有关),所以服务器配置也不能太低。这么算其实也没有「免费」,需要的硬件成本也是个大头。

一年多花1-2台服务器的费用,安全性似乎提升有限,也许CDN才是更好的选择?

CloudFlare

既然决定选择大厂的CDN服务,首先考虑的当然是大名鼎鼎的电子活佛CloudFlare。CloudFlare提供免费的CDN服务,并且个人免费版也不限访问次数、不限每月流量,妥妥的赛博雷锋啊👍。

但免费版限制2-3个CDN服务器,服务器又在境外(付费版有境内),境内速度可以说非常感人,多个地区甚至显示连接超时/无法访问,人送外号「减速器」,只有在如香港、台湾的地区才能见到深绿色(小于50ms)。

1733533952-cf0.webp

即使用了网上的方法优选IP,延迟也在200ms以上,虽然看起来节点多了很多,似乎对不同的地区进行了优化,但反馈到实际速度依旧是非常感人,特别是首次访问甚至要等7-9s才出网页🫠。

1733534020-cf1.webp

其实个人用用也还好,愿意多等一会儿,毕竟重点是免费 免费 免费!但考虑到我的资源站其实有很多全国各地的人访问,虽然也不靠它赚钱什么的,但是还是想着花点小钱,给访客一个较好的体验。(毕竟谁也不想等一个未知的网页价值10秒吧)

于是,决定探索一下国内的CDN服务。

阿里云CDN/DCDN

既然看国内,自然先看大厂了。选择了阿里云作为第一个付费尝试CDN的服务商。大厂就是大厂,效果确实非常显著。节点多,速度快,测速结果显示已经全国深绿(小于50ms)了。果然付费的就是不一样!

但好景不长,当我看到账单时傻眼了。即使我领取了DCDN(阿里全站加速)6个月的50G流量包,平均1天差不多仍然要到1元的费用。虽然每天看起来不多,但若按年算一年就要近¥350了,这对非盈利的网站来说支出还是比较高的。账单显示,高的时候每小时甚至要0.1元,但站点的访问量并不是很大,难道公网流量这么贵吗?

核对扣费详情后发现:原来Https是单独计费的一项,只要使用Https就会被额外计费。再加上回源、请求数等不算在流量包在内的「增值服务」,这一年下来也快追上服务器的钱了。并且阿里的CDN似乎对盗刷攻击没有很好的防护(至少我这档是这样的),WAF也属于额外服务需另购。加之阿里的CDN几乎没有每月免费流量额度,流量包失效后,流量费又将是新的支出大头。

综合考虑,阿里的还是“爱不起”,遂放弃。

火山引擎 veImageX(字节跳动)

veImageX是火山引擎(字节跳动旗下)提供的一项图片加速/处理业务,更聚焦于静态加速。

每月免费10GB CDN流量(内地)+免费20TB基础图像处理+每日免费10G存储额度,没有Https计费,这比上一家阔绰多了。我也作为新人1元买了100GB流量包(6个月),目前也还在尝试这项服务。

背靠互联网大厂,实力自然是不用多说,节点数近90个,基本各地区都有节点,轻松拿下境内全深绿。

硬要说不足,应该就是veImageX好像不能拿来做全站加速,而我的需求之一就是需要通过全站加速来实现源站IP隐藏。但是毕竟送了这么多,就先看看怎么能用上吧哈哈哈。

ps:火山引擎本身很多服务(包括CDN)或选项似乎只对B端企业用户开放,C端上没有阿里云那样攻势强劲。

1733534061-btyd.webp

又拍云 Upyun

国内很多博客、个人网站都使用了又拍云的CDN加速和云储存,后面了解到主要是因为其免费提供每月10GB存储和15GB CDN流量,只需要在你的网站底端加上他们的广告(本站使用了……加速)就可以加入联盟,获得如上福利了。

又拍云给的是等价的代金券(一年额度),所以如果有其他增值服务扣费,也是先扣的代金券金额,这点我觉得比其他给流量包的更好,避免了不知道的增值服务扣费甚至欠费,导致CDN直接被停。

说回硬实力,又拍云CDN实际解析国内大概只有4-6个IP(节点),比CloudFlare免费版的2-3个节点强,但远不及阿里云、腾讯云、火山引擎(字节)一类大厂的动不动80+节点的实力。另外又拍云CDN如果选择的是国内加速,也是完全不支持境外访问的,会被直接拒绝。其他家更常见的做法是将境外访问全部通过某一节点返回,只是“不加速”而已。不错的是又拍云CDN即使节点数不算多,同样差不多能做到全国深绿,在个别地区延迟会略高(55ms-80ms),表现尚可。

支持全站加速,这也是目前我给资料站在用的方案之一。

1733534041-upyun.webp

其他

目前也还在看其他家的CDN服务,以备不时之需,有好的服务商也欢迎各位留言推荐哈。

(不要打广告哦)

优化

通过上面的实战体验各家服务,我们也基本能发现各家的特点:

  • 自部署WAF(雷池):自定义程度高、数据详细、无额外付费,适合有闲置服务器的用户部署。

  • CloudFlare:境外访问快,免费 免费 免费!不必担心超量的高额流量费,适合临时使用/增加网站安全性使用/或是怕流量超量的用户使用。

  • 阿里云CDN/DCDN:稳定、高质量,适合不差钱/稳定性要求高的用户。

  • 火山引擎 veImageX(字节跳动):静态/图片资源加速首选,图片加速配置非常多,并且免费额度、新人优惠力度都挺大的,适合需要加速静态/图片资源的用户。

  • 又拍云 Upyun:新人首月直接送¥61代金券,加入联盟(给他们打广告)可领免费额度。随意使用所有服务,不必担心某项服务单独计费,适合需求项多、追求性价比的用户。

综上,可以说各有各的好。我决定集各家之所长,优化全球访问速度/安全性。

通过DNS不同来源访问分配不同线路,境内访问选择了又拍云做全站加速,静态资源使用火山引擎进行托管加速;而境外则使用CloudFlare加速。至此,实现了全球高速访问,同时成本也得到了极大的控制✌️。

1733539679-ipjx.webp

后记

目前,全部站点都接入了CloudFlare实现基础的安全防护,部分访问量高的站点额外接入了又拍云/火山引擎优化访问速度。算是在安全、速度和成本中取得了一个不错的平衡。

以上内容分享给大家,希望对各位的开发、选购有所启发。

本文所有提及的产品均为个人自费体验,不含任何充值广告!

感谢各位收看,欢迎多多交流。

成名在望,却又失望。 2024-12-09
「5525回到那一天」五月天上海站|MAYDAY TOUR IN ShangHai 2024-11-13

评论区