给网站加加速!下一代CDN(EdgeOne/边缘安全加速)使用与配置体验

随着访问量的增加和用户需求的多样化,网站的加载速度和稳定性逐渐成为影响用户体验的关键因素。尤其是服务器的带宽有限,面对一些图片数据,显得"力不从心"。CDN技术,就很好的解决了这个问题,但是价格也是用户思考的问题。

EdgeOne不仅继承了传统CDN的核心优势,更在速度、安全性和智能化等方面进行了全面升级。 它通过将计算和存储能力部署在离用户更近的边缘节点上,大幅减少了网络传输的延迟,从而实现了更快的网站加载速度。同时,EdgeOne还集成了先进的安全防护机制,有效抵御了各种网络攻击,确保了网站的安全稳定运行。

配合腾讯云的售后售前客服服务,相比其他厂商的新一代CDN,上手更加容易,咨询也更方便。

这次就让我们一起体验一些,把薄荷输入法的文档网站,这SSR(Server Side Rendering 服务端渲染)项目,接入 EdgeOne 内。

EdgeOne

腾讯云EdgeOne的全称是边缘安全加速平台 EO(Tencent Cloud EdgeOne),其实主要有两个方面的特性:

  • 边缘节点加速: 通过在全球部署广泛的边缘节点,利用这些节点的地理优势,将内容和服务缓存至离用户最近的位置。这种架构大大减少了数据传输的距离和时间,从而显著提升了用户的访问速度和体验。
  • WAF、DDoS等安全防护服务: WAF能够有效防御SQL注入、跨站脚本攻击(XSS)、跨站请求伪造(CSRF)等多种常见的Web攻击,保护网站免受恶意访问和数据泄露的风险。同时,DDoS防护服务可以抵御大规模的流量攻击,确保网站在高流量压力下的稳定运行。这些安全防护措施共同为用户提供了一个安全可靠的网络环境。

所以,EdgeOne在给网站加速的同时,流量计费只统计"干净"流量,还可以一定程度增加网站的安全性。这也是 EdgeOne 被称为下一代CDN技术的原因之一。

对比CDN

特性分类 功能描述 EdgeOne CDN ECDN SCDN
更丰富的功能 静态内容分发加速
动态内容智能加速
DDoS/CC 防护
Bot 防护
Web 防护
流量调度
自定义推送实时日志字段
边缘函数
规则引擎
四层代理
DNS 记录托管
更省心的计费模式 套餐模式
资源包抵扣
仅对防护后流量计费
超出用量后付费
"干净流量"计费
更简单、灵活的配置方式 站点全局一键配置
场景化推荐配置
免费证书

以上表格详细对比了EdgeOne与CDN在不同功能上的差异,帮助用户更好地了解两者之间的区别。

SSL自动续期

目前,SSL 厂商已经不提供免费的一年期的 SSL 证书了,这也导致腾讯云和阿里云的证书管理、托管内,可以申请的证书,只有三个月,并且不能自动续期。我们询问智能客服也可以知道目前 SSL 证书的现状:

至于为什么只提供三个月呢? 腾讯的智能客服还是挺智能的,不但给出了原因(上流 SSL 厂商停止颁发免费的一年期 SSL,导致腾讯云等厂商无法提供);同时也提供了解决方法:

难怪 V2EX 等论坛,都称腾讯云为"良心云"。

其实,免费的 SSL 证书,只能通过重新申请来进行续期。 但是我们有提及 EdgeOne 有免费证书 功能,这个功能有点类似于我们之前提到的 acme.sh 自动续期 (好像还没在掘金发布... 有机会我同步发布一下到掘金)。

也就是 EdgeOne 会自动提供一个三个月期限的 SSL 证书来实现 HTTPS,并且在 SSL 即将到期的时候(通常是到期前的一个月开始尝试)自动续签,期限会自动补齐为三个月。

说实话,腾讯云的售后和售前体验,还是挺不错的; 目前的智能客服和自助检测工具,就足够大部分人使用了。就算走人工服务,人工也很专业,部分问题还会主动打电话"手把手教"。

这点还是很方便的,类似于 Cloudflare 的全站SSL,不同的是, Cloudflare 使用的是 Google Trust Services 的 SSL ;同时,对于中国大陆来说,Cloudflare 的CDN有些劣化网络。

安全防护

安全防护,可以说是 EdgeOne 的重要特性配合强大的规则,实现WAF功能。举个例子,我的薄荷输入法的文档网站接入后,使用 EdgeOne 的规则防护,我们浅浅地使用' OR '1'='1'; --这样的SQL注入试试看:

当然,上述的规则防护,属于 L7 防护,也就是 OSI 七层模型里的第七层: 网络层,与此同时 DDOS 的攻击、Java 反序列化利用类漏洞、RCE 的漏洞利用行为和 Spring Webshell 上传的绕过手法等等也是在这一层被防护

相比之下, EdgeOne 也支持在传输层防护,但是这个更适用于企业客户,个人版本和试用版本就不支持了:

"干净"流量

EdgeOne 有一个重要的特性,那就是计费时候,只计算"干净"流量。使用官方图来看看:

即仅对通过安全防护功能处理后的流量和请求用量计费。这意味着被安全防护策略过滤或拦截的流量不会产生费用。

这点实在太好用了,毕竟个人开发者不敢使用CDN,很大程度就是怕用一晚,被攻击后,"车"没了、"房"没了;

而 EdgeOne 只统计防护后的流量,这样确保你网站可以抵御 DDOS 攻击的同时,费用也不会很贵,性价比很高

当然,小伙伴们不要为了测试,就DDOS攻击自己的网站哦,如果流量没有达到100Mbps,那么是不会启动DDOS防护的哦,只有规则在生效。

操作前提

操作前提,自然和CDN、ECDN等产品类似了:

  • 需要拥有一个域名;
  • 如果你需要加速中国大陆地球,那么你这个域名还需要进行备案;
  • 这个域名需要没有被标记,比如:域名内有敏感屏蔽词等。
graph LR A[拥有域名] --> B{加速中国大陆} B --是--> C[域名需进行备案] B --否--> D[确保域名未被标记] C --> D D --> E[设置 EdgeOne 加速服务]

我们顶级域名,可以在 EdgeOne 的控制台内进行添加:

本教程同步发布在:

套餐选择

个人使用,建议选择预付费版本,让我们有一定的预期。

目前EdgeOne还有体验包,我们可以使用体验包先进行上手:

如果体验包过期,可以使用刚刚的博客链接,购买个人版:

对于个人网站,基础套餐就已经足够我们使用了。也就是:

  • 静态内容分发网络(CDN),且仅统计清理后的流量,仅收取这部分流量费用;
  • 平台默认 DDoS 防护、基础 CC 防护等安全规则防护;
  • 免费且自动续期的SSL,HTTPS不用愁。

这些就已经足够了。

当然,对于企业或者大型团队项目,最好根据网站和应用的类型考虑是否使用企业版本。比如:金融行业、游戏行业服务,使用企业版本,有更好的防护,用来保证在攻击过程中,不会影响玩家和用户体验~

如果你实在不知道公司的业务是否需要用企业版 ,或者个人开发者使用个人版本,资源是否充足、够用;那么推荐可以问问腾讯云的客服,感觉客服还是很专业的,描述一下业务的 PV 和 24 小时流量,他们一般都会有专门人员测算,非常专业

域名接入

之前我们使用 CDN,通常的接入方式是 CNAME 接入(Canonical Name Record)。也就是在 DNS 内添加一条 CNAME 记录,把当前的解析记录进行转移:

graph LR A[用户访问网站] --> B{检查 DNS 记录} B --A 记录--> C[直接返回 IP 地址] B --CNAME 记录--> D[返回别名记录] D --> E[查找别名对应的 IP 地址] E --> F[返回 IP 地址] F --> G[建立连接并访问网站] subgraph CDN 工作原理 B --CNAME 记录--> H[返回 CDN 服务提供商的域名] H --> I[CDN 服务商解析 CNAME 记录] I --> J[返回 CDN 服务器 IP 地址] J --> G end

对于 EdgeOne,它的接入方式有两种方式,前端有三种引导途径:

  • CNAME 接入: 和 CDN 一样,单条的域名指向 EdgeOne 提供的 CNAME 地址,当用户访问该域名时,DNS 解析将请求引导至 EdgeOne 的边缘节点;
  • NS 接入: 修改域名的NS记录,指向 EdgeOne 的DNS;需要使用加速服务的,可以直接一键开启,不需要的可以直接 A 类型解析;
  • DNSPod 托管接入: 实际上,如果你的域名已经 NS 接入DNSPod托管了,那么就相当于 NS 接入了。如果你域名之前就是使用 DNSPod 托管,那么建议直接选择这一项。

DNSPod 托管接入

DNSPod托管接入是最方便的了。我的域名是直接在腾讯云内购买、备案的,用的也是DNSPod:

在 EdgeOne 内部可以直接一键配置:

CNAME 接入

CNAME 适用于域名主题解析不想接入 EdgeOne,或者说不想域名解析的全部记录使用 DNSPod,比如我的博客域名,日常使用的量挺大的,如果全部接入 EdgeOne,那么对于一个个人开发者来说,钱包有些顶不住:

这个时候,我们就可以使用 CNAME 接入。

之后,我们需要添加 TXT 解析:

切花到 NS 提供商,我们添加这条 TXT 记录:

等待片刻后,点击 EdgeOne 上的验证,即可添加完成:

最后,添加网站,和刚刚不同的是,我们最后一步需要我们手动添加CNAME:

比如我的 DNS 服务使用的是 Cloudflare,那么在 CloudFlare 控制台:

等待片刻后即可生效:

NS 接入

NS 的接入,就不过多赘述; NS 接入,实际就是把 DNS 的解析,由原本使用 Cloudflare、Google DNS 切换为使用DNSPod,进而可以直接使用 DNSPod 托管接入。

根据 EdgeOne 上的提示,切换域名的 DNS 地址:

站点接入

域名接入后,再进行站点接入就非常容易了。我们在 EdgeOne 的控制台上,添加我们需要加速的站点即可:

在出现的二级菜单内,根据引导进行操作:

需要注意:

  • 加速域名: @是直接将主域名接入,wwwtest将子域名接入;
  • 源站类型: 加速目标是服务器还是自己的服务器集群,亦或者存储桶等;

填写后,出现网站类型,如果你是个人网站,那么就选择网站加速即可;存储通等可以选择大文件下载:

最后,自动或者手动修改解析即可:

部署后的效果:

可以看到,这个时候,我们的解析就已经添加了。接下来,我们看看如何HTTPS。

HTTPS部署

HTTPS 的部署非常丝滑,感觉这才是真真的一键SSL,丝滑程度,堪比 Cloudflare。

部署 HTTPS,我们只需要在域名配置内,对已经添加的域名进行HTTPS配置

如果你之前没有使用腾讯云的SSL 托管证书 功能,那么这里直接使用申请免费证书即可:

自动申请证书:

使用curl -vvl查看证书的有效期,可以发现是三个月的有效期:

或者使用Chrome浏览器查看:

也不用担心,正如前文所说的,在到期前会自动续费,丝滑的体验。

使用体验

在使用之前,建议大家检查一下全局观察模式是否关闭: 默认情况下, EdgeOne 在部署后的一段时间内,全局观察模式是开启的; 这个时候,EdgeOne 的安全防护(包括基础DDOS攻击防护)是只观察,但是不做出拦截动作 。如果你检查配置都没问题,拦截不会出现什么误触,记得把全局观察模式关闭:

现在,让我们看看使用的体验。首先看看缓存的命中:

bash 复制代码
curl -LI "「EdgeOne内加速域名」"

我们可以在 EdgeOne 的控制台加速与安全-站点加速上,查看缓存规则:

同时,如果你的EdgeOne还开启了更高级的安全防护,在加速与安全-安全防护-Web 防护-站点级防护策略内看到更多的托管规则

比如,我们开启这些规则的情况下,尝试SQL注入:

END

总的来说,EdgeOne 在加速、安全、智能化等方面都有较传统CDN更出色的表现。同时,一定程度,解决了部分开发者,因为害怕流量被刷和DDOS攻击等问题而不敢使用CDN的顾虑。

我认为 EdgeOne 是有一定"明天"属性的产品,对于用户来说,不用提心吊胆地担心自己站点是否会被刷、企业也可以从复杂的安全配置里解放出来。

期待后续,更多的安全规则功能可以下发,让更多的开发者也可以体验到高级防护功能。毕竟...... 用了试用版的防护后,再开个人版,有点小落差;不过相信这些功能会逐步下放。

制作教程不易,寻找教程也不易,找到志同道合的小伙伴更是知音难觅。如果你对云服务器、CDN、云数据库和Linux等云计算感兴趣,亦或者喜欢编程、设计、产品、运营等领域,欢迎加入我们的开发者爱好群,一起交流学习: 812198734 (目前可能就我一个人?毕竟才刚刚创建 ~)。

相关推荐
go_to_hacker2 小时前
容器安全检测和渗透测试工具
测试工具·安全
澜世2 小时前
2024小迪安全基础入门第二课
网络·笔记·安全
Donvink4 小时前
大模型安全和越狱攻击——《动手学大模型》实践教程第五章
深度学习·安全·语言模型·llama
佚名程序员4 小时前
【Node.js】全面解析 Node.js 安全最佳实践:保护您的应用
安全·node.js
亚信安全官方账号4 小时前
获国家权威机构认可 亚信安全荣获CNVD技术组支撑单位认证
安全
weixin_442643424 小时前
数据跨网传输无忧:FileLink打造内外网文件传输的安全桥梁
服务器·网络·安全·filelink内外网文件传输
广州创科水利4 小时前
堤防安全监测系统方案
安全·自动化
Linux运维技术栈4 小时前
基于CVE安全公告号,全面修复麒麟ARM系统OpenSSH漏洞
安全·系统安全·arm
raysync8884 小时前
优化文档安全外发做到灵活定义审批流程
网络·安全
Donvink4 小时前
大模型智能体安全——《动手学大模型》实践教程第七章
深度学习·安全·语言模型·prompt·llama