0


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

随着访问量的增加和用户需求的多样化,服务器的带宽有限,面对一些图片数据,显得“力不从心”。CDN技术,就很好的解决了这个问题,但是价格也是用户思考的问题。

EdgeOne不仅继承了传统CDN的核心优势,更在速度、安全性和智能化等方面进行了全面升级。 大幅减少了网络传输的延迟,同时,集成了安全防护机制,有效抵御了各种网络攻击。

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

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

EdgeOne

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

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

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

还是很舒服的

对比CDN

特性分类功能描述EdgeOneCDNECDNSCDN更丰富的功能静态内容分发加速✓✓✓✕动态内容智能加速✓✕✓✕DDoS/CC 防护✓✕✕✓Bot 防护✓✕✕✓Web 防护✓✕✕✓流量调度✓✕✕✕自定义推送实时日志字段✓✕✕✕边缘函数✓✕✕✕规则引擎✓✕✕✕四层代理✓✕✕✕DNS 记录托管✓✕✕✕更省心的计费模式套餐模式✓✓✕✓资源包抵扣✓✓✕✕仅对防护后流量计费✓✕✕✕超出用量后付费✓✕✕✕“干净流量”计费✓✕✕✕更简单、灵活的配置方式站点全局一键配置✓✕✕✕场景化推荐配置✓✕✕✕免费证书✓✕✕✕
以上表格详细对比了EdgeOne与CDN在不同功能上的差异,帮助用户更好地了解两者之间的区别。

SSL自动续期

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

免费 SSL 无法自动续期

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

为什么无法自动续期
难怪 V2EX 等论坛,都称腾讯云为“良心云”。

暗中观察

其实,免费的 SSL 证书,只能通过重新申请来进行续期。 但是我们有提及 EdgeOne 有免费证书功能,这个功能有点类似于我们之前提到的 acme.sh 自动续期。

询问腾讯云客服,EdgeOne自动续期

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

EdgeOne的自动续期SSL

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

EdgeOne的SSL控制台

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

安全防护

安全防护,可以说是 EdgeOne 的重要特性配合强大的规则,实现WAF功能。举个例子,我的薄荷输入法的文档网站接入后,使用 EdgeOne 的规则防护,我们浅浅地使用

' OR '1'='1'; --

这样的SQL注入试试看:

EdgeOne拦截成功(Curl)

EdgeOne拦截成功(浏览器)

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

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

EdgeOne的L4防护

“干净”流量

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

EdgeOne“干净流量”

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

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

新老用户都害怕……

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

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

操作前提

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

  • 需要拥有一个域名;
  • 如果你需要加速中国大陆地球,那么你这个域名还需要进行备案;
  • 这个域名需要没有被标记,比如:域名内有敏感屏蔽词等。

#mermaid-svg-ALDP6JnrZKX4GrQK {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-ALDP6JnrZKX4GrQK .error-icon{fill:#552222;}#mermaid-svg-ALDP6JnrZKX4GrQK .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-ALDP6JnrZKX4GrQK .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-ALDP6JnrZKX4GrQK .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-ALDP6JnrZKX4GrQK .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-ALDP6JnrZKX4GrQK .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-ALDP6JnrZKX4GrQK .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-ALDP6JnrZKX4GrQK .marker{fill:#333333;stroke:#333333;}#mermaid-svg-ALDP6JnrZKX4GrQK .marker.cross{stroke:#333333;}#mermaid-svg-ALDP6JnrZKX4GrQK svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-ALDP6JnrZKX4GrQK .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-ALDP6JnrZKX4GrQK .cluster-label text{fill:#333;}#mermaid-svg-ALDP6JnrZKX4GrQK .cluster-label span{color:#333;}#mermaid-svg-ALDP6JnrZKX4GrQK .label text,#mermaid-svg-ALDP6JnrZKX4GrQK span{fill:#333;color:#333;}#mermaid-svg-ALDP6JnrZKX4GrQK .node rect,#mermaid-svg-ALDP6JnrZKX4GrQK .node circle,#mermaid-svg-ALDP6JnrZKX4GrQK .node ellipse,#mermaid-svg-ALDP6JnrZKX4GrQK .node polygon,#mermaid-svg-ALDP6JnrZKX4GrQK .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-ALDP6JnrZKX4GrQK .node .label{text-align:center;}#mermaid-svg-ALDP6JnrZKX4GrQK .node.clickable{cursor:pointer;}#mermaid-svg-ALDP6JnrZKX4GrQK .arrowheadPath{fill:#333333;}#mermaid-svg-ALDP6JnrZKX4GrQK .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-ALDP6JnrZKX4GrQK .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-ALDP6JnrZKX4GrQK .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-ALDP6JnrZKX4GrQK .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-ALDP6JnrZKX4GrQK .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-ALDP6JnrZKX4GrQK .cluster text{fill:#333;}#mermaid-svg-ALDP6JnrZKX4GrQK .cluster span{color:#333;}#mermaid-svg-ALDP6JnrZKX4GrQK div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-ALDP6JnrZKX4GrQK :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}

       拥有域名 
     

       加速中国大陆 
     

       域名需进行备案 
     

       确保域名未被标记 
     

       设置 EdgeOne 加速服务 
     

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

EdgeOne内添加域名

套餐选择

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

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

使用体验包进行上手

如果体验包过期,可以购买个人版:

EdgeOne个人版(1年)

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

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

这些就已经足够了。

对于个人,还是挺够的

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

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

域名接入

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

#mermaid-svg-AdohEJR7CzhxURyv {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-AdohEJR7CzhxURyv .error-icon{fill:#552222;}#mermaid-svg-AdohEJR7CzhxURyv .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-AdohEJR7CzhxURyv .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-AdohEJR7CzhxURyv .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-AdohEJR7CzhxURyv .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-AdohEJR7CzhxURyv .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-AdohEJR7CzhxURyv .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-AdohEJR7CzhxURyv .marker{fill:#333333;stroke:#333333;}#mermaid-svg-AdohEJR7CzhxURyv .marker.cross{stroke:#333333;}#mermaid-svg-AdohEJR7CzhxURyv svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-AdohEJR7CzhxURyv .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-AdohEJR7CzhxURyv .cluster-label text{fill:#333;}#mermaid-svg-AdohEJR7CzhxURyv .cluster-label span{color:#333;}#mermaid-svg-AdohEJR7CzhxURyv .label text,#mermaid-svg-AdohEJR7CzhxURyv span{fill:#333;color:#333;}#mermaid-svg-AdohEJR7CzhxURyv .node rect,#mermaid-svg-AdohEJR7CzhxURyv .node circle,#mermaid-svg-AdohEJR7CzhxURyv .node ellipse,#mermaid-svg-AdohEJR7CzhxURyv .node polygon,#mermaid-svg-AdohEJR7CzhxURyv .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-AdohEJR7CzhxURyv .node .label{text-align:center;}#mermaid-svg-AdohEJR7CzhxURyv .node.clickable{cursor:pointer;}#mermaid-svg-AdohEJR7CzhxURyv .arrowheadPath{fill:#333333;}#mermaid-svg-AdohEJR7CzhxURyv .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-AdohEJR7CzhxURyv .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-AdohEJR7CzhxURyv .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-AdohEJR7CzhxURyv .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-AdohEJR7CzhxURyv .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-AdohEJR7CzhxURyv .cluster text{fill:#333;}#mermaid-svg-AdohEJR7CzhxURyv .cluster span{color:#333;}#mermaid-svg-AdohEJR7CzhxURyv div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-AdohEJR7CzhxURyv :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}

       CDN 工作原理 
     

A 记录

CNAME 记录

CNAME 记录

       返回 CDN 服务提供商的域名 
     

       检查 DNS 记录 
     

       CDN 服务商解析 CNAME 记录 
     

       返回 CDN 服务器 IP 地址 
     

       建立连接并访问网站 
     

       用户访问网站 
     

       直接返回 IP 地址 
     

       返回别名记录 
     

       查找别名对应的 IP 地址 
     

       返回 IP 地址 
     

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

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

接入EdgeOne的三种途径

DNSPod 托管接入

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

DNSPod控制台

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

CNAME 接入

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

博客域名一个月内使用的流量较多

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

使用CNAME接入EdgeOne

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

CNAME提示信息

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

添加TXT记录

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

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

添加站点

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

Cloudflare控制台添加站点

等待片刻后即可生效:

Cloudflare控制台添加站点

NS 接入

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

NS接入

按照 EdgeOne 上的提示,切换 DNS 服务器地址:

NS内填入EdgeOne

站点接入

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

添加站点的入口

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

引导界面

需要注意:

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

填写后,出现网站类型,如果你是个人网站,那么就选择

网站加速

即可;存储通等可以选择

大文件下载

:

使用模板

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

自动修改解析

部署后的效果:

添加站点接入

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

HTTPS部署

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

部署 HTTPS,我们只需要在

域名配置

内,对已经添加的域名进行

HTTPS配置

HTTPS设置

如果你之前没有使用腾讯云的SSL 托管证书功能,那么这里直接使用

申请免费证书

即可:

申请HTTPS

自动申请证书:

自动申请证书

使用

curl -vvl

查看证书的有效期,可以发现是三个月的有效期:

查看证书有效期

或者使用Chrome浏览器查看:

查看证书有效期(Chrome)

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

使用体验

在使用之前,建议大家检查一下

全局观察模式

是否关闭: 默认情况下, EdgeOne 在部署后的一段时间内,

全局观察模式

是开启的; 这个时候,EdgeOne 的安全防护(包括基础DDOS攻击防护)是只观察,但是不做出拦截动作。如果你检查配置都没问题,拦截不会出现什么误触,记得把

全局观察模式

关闭:

全局观察模式 关闭
现在,让我们看看使用的体验。首先看看缓存的命中:

curl -LI "「EdgeOne内加速域名」"

使用curl查看缓存状态
我们可以在 EdgeOne 的控制台

加速与安全-站点加速

上,查看缓存规则:

加速与安全-站点加速
同时,如果你的EdgeOne还开启了更高级的安全防护,在

加速与安全-安全防护-Web 防护-站点级防护策略

内看到更多的

托管规则

高级规则

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

EdgeOne拦截成功(浏览器)

END

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

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

猜测

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


本文转载自: https://blog.csdn.net/weixin_43890033/article/details/142791159
版权归原作者 Mintimate 所有, 如有侵权,请联系我们删除。

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

还没有评论