腾讯EdgeOne产品测评体验—更快更强更安全,安全我选EdgeOne

腾讯EdgeOne产品测评体验—更快更强更安全,安全我选EdgeOne

王婆的瓜可甜?

自 23 年 8 月份 EdgeOne 开放订阅套餐后,腾讯云用户使用 EdgeOne 来为自己网站进行加速和防护的站点数量,呈现爆发式增长趋势。
金融服务业受到的 Web 应用程序和 API 攻击以 3.5 倍速率逐年激增,攻击者利用新发现的零日漏洞的速度惊人,24 小时内可能高达数千次/小时(点此查看详情);不少开发者反馈服务器遭 DDOS 攻击,致服务器崩溃(点此查看详情)…近年各类重大漏洞不断暴漏,为网站安全带来非常大的风险。
应对漏洞对于开发者而言是一个非常复杂和高难度的技术问题,处理起来非常棘手,带来巨大挑战。Edgeone 为了解决企业与个人用户的 Web 漏洞防护等燃眉之急,不断适配用户的需求,升级产品能力以让产品更安全、更易用、更开放。开发者在使用 EdgeOne 来为自己网站进行加速和防护,更安全稳定、节省成本。

狠起来自己都杀

以下数据来自腾讯云官方文档,边缘安全加速平台EO是实打实的全能型选手,cover住了腾讯以往三种CDN的所有功能,成为一把瑞士军刀!

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

诚然,数据上看着的确很甜,但是实际使用如何?作者曾在EdgeOne推出的时候体验过一次,的确好用,不过当时作为新产品功能还并不太多,这次作者将再次对其进行测评,从常规和安全方面进行测试,实际效果如何,请看本文实践部分!

实践

常规玩法

看完纸面数据,我们来看看实际应用。首先我们思考一个问题: CDN的第一要义是什么?从笔者的角度来看,一般是以下两点
1、 隐藏源IP
2、 优化终端用户访问
其中,隐藏源IP是基本属性,因为终端用户访问的就是咱CDN的边缘节点,边缘节点再通过优化网络传递数据到源站。那么在这个环节,我们要专注一点的就是看如何优化终端用户的访问。

测试背景

某公司因业务需求,在南美放置了一台服务器,但是大陆直连延迟高达400ms,测试使用CDN对其进行加速,以降低延迟,引入cloudflare和gcore作为参照组进行对比
源服务器IP:54.207.148.175

测试cdn预置

Cloudflare和Gcore的设置请参照其官方文档进行操作,腾讯云边缘加速安全平台EO采用全球加速(不含中国大陆)

EO

image.png
在这里插入图片描述

Cloudflare

image.png
在这里插入图片描述

gcore

在这里插入图片描述

测试结果

访问方式最小延迟最大延迟是否高可用
直连355ms404msNA
EO30ms185ms
Cloudflare191ms210ms
Gcoretimeouttimeout

简单测试加速效果来看,EO和Cloudflare表现还行,但是腾讯云EO更胜一筹,似乎对移动线路有更好的优化,延迟能干到30ms。

边缘函数

腾讯云边缘函数(Edge Functions)提供了 EdgeOne 边缘节点的 Serverless 代码执行环境,您只需编写业务函数代码并设置触发规则,无需配置和管理服务器等基础设施,即可在靠近用户的边缘节点上弹性、安全地运行代码。
image.png
image.png
从作者的来看,国内的云厂商中,腾讯云应该是第一家将边缘函数集成到CDN的,作者作为一名长期使用亚马逊云的用户来讲,边缘函数的功能是非常棒的。在腾讯云EO文档中关于边缘函数有示例代码,比如图片自适应缩放
边缘安全加速平台 EO 图片自适应缩放-边缘函数-文档中心-腾讯云
这里就不再对已存在的示例代码做演示,这里添加一个修改url的函数示例
function handler(request){ // 获取请求头 var request = request.request; var headers = request.request.headers; var originUrl = request.request.uri; // 检查 x-vendor-type 请求头是否存在 if (headers[‘x-vendor-type’]) { var targetObject = headers[‘x-vendor-type’].value // 修改回源 URL Path request.request.uri = ‘/’ + targetObject + originUrl; } return request;}
该函数会自动检测用户的请求的headers中是否带有x-vendor-type,若存在则读取其对应值,再返回给用户修改后的url,其实这个也和URL重定向类似,只不过在腾讯云EO的“重定向示例函数”是使用地理位置进行重定向,大家也可以根据自己的需求进行修改。

安全

腾讯云EO将安全也融合到该服务中,提供站点(七层)服务防护和四层代理防护,所有等级的套餐都提供“自动清洗 DDoS 攻击”,如需享受更多DDoS防护则需要购买企业版。
安全方面,腾讯云EO另外有Web防护、Bot管理、源站防护、自定义页面、告警通知推送等。这里展开讲一下Web防护、Bot管理以及源站防护,个人认为这几点是除DDoS外企业和个人用户很常用的点
image.png

Web 防护

Web 防护是 EO 的核心功能之一,旨在保护网站免受各种 Web 攻击,如 SQL 注入、XSS、CC 攻击等。它通过智能识别和实时阻断来防御威胁,确保网站的可用性和数据安全。

Bot 管理

Bot 管理模块能够检测和识别出恶意爬虫、垃圾bot等非人类行为,并根据预设的策略对其进行拦截或限速,从而保护网站资源,优化用户体验。

源站防护

源站防护功能通过智能流量调度和负载均衡,实现对源站服务器的高可用性保护,确保服务的持续在线和数据的可靠传输。

安全实践

默认启用Web防护种的**“默认托管规则”, **对SQL注入进行测试
image.png

SQL注入测试
规则一览

image.png

添置测试记录image.png
默认全域开启安全防护

image.png

源服务器构建简单SQL

mysql> create database eo-waf;Query OK, 1 row affected (0.00 sec)mysql> use eo-wafDatabase changedmysql> create table User(username varchar(20), password varchar(30), primary key(username));Query OK, 0 rows affected (0.02 sec)mysql> insert into User values(‘a’, ‘123aaa’), (‘b’, ‘123bbb’);Query OK, 2 rows affected (0.01 sec)Records: 2 Duplicates: 0 Warnings: 0
image.png

示例服务器代码

from flask import Flask, request, jsonifyimport jsonimport pymysqlapp = Flask(name)@app.route(‘/’, methods=[‘GET’])def local_handler(): conn = pymysql.connect(host=‘127.0.0.1’, user=‘demo’, password=‘Demo1s34’, db=‘eo-waf’) cursor = conn.cursor() u = request.args.get(‘username’) p = request.args.get(‘password’) sql = f"select username, password from User where username = ‘{u}’ and password = ‘{p}’" cursor.execute(sql) ret1 = cursor.fetchone() if ret1: message = ‘login Success!’ else: message = ‘login Failure!’ return jsonify({‘statusCode’: 200, ‘body’: message})if name == ‘main’: app.run(host=‘0.0.0.0’, port=80)

未启用安全防护,设置严格模式

image.png

启用安全防护

image.png

缓存预热

对于缓存预热,我认为这个功能的确是比较重要的,对于金融/游戏类客户,在某个版本更新后,需要快速推送到边缘站点,减低终端用户的下载时间。对比与国内的云厂商,当然都有提供缓存预热,但是有集成安全、边缘函数的CDN,我们可以参考亚马逊云的cloudfront。Cloudfront的差异点在于没有“缓存预热”功能,若用户想对cloudfront进行缓存预热,需要通过第三方的方案进行操作,对于动手能力差或者理解能力稍差的会造成很大的麻烦。

用量封顶&干净流量

不论是企业用户还是个人用户,我认为费用问题始终是一个很关键的点,启用用量封顶,可以预设值防止超量使用。另外干净流量可以防止用户对恶意攻击流量付费。

  1. 用量封顶:EdgeOne 可周期性地统计业务流量和请求数,您可以自助配置业务流量和请求数的阈值,当统计周期内产生的用量消耗达到您配置的告警阈值时,EdgeOne 将会推送消息通知您,并立即关闭 EdgeOne 安全加速服务,避免产生更多的异常费用。
  2. EdgeOne 使用“干净流量”计费模式:对于安全防护功能拦截的请求不进行计费,仅对通过安全防护功能处理后的流量和请求用量计费。该方式旨在为用户提供更透明的计价方式,帮助用户更好的管理预算,为真正有价值的业务用量买单
    image.png
    image.png

多提一点

免费ssl证书

除上面的主要功能之外,腾讯云EO也提供免费的https证书,这点跟亚马逊云科技的ACM服务相同,极大的简化了用户申请域名再导入域名的复杂程度。

总结

腾讯云边缘安全加速平台 EO,较之国内的云平台CDN产品,可以说是集大成者。腾讯云边缘安全加速平台EO将安全、域名解析、带宽流量管控等功能与传统CDN加速服务整合,为企业级用户提供一站式的内容分发与网络安全综合解决方案。相较于单一的CDN产品,EO在功能层面上具有显著优势:

  1. 安全防护:除CDN基础的DDoS攻击防护外,还整合了WAF网站防火墙、CC防护、Bot管理等安全能力,从边缘层为源站提供全方位的安全防护。
  2. 智能调度:利用智能DNS调度技术,可根据就近性、负载情况动态调配边缘节点资源,实现全球范围内的高效调度和均衡访问。
  3. 性能优化:支持静态资源缓存、智能压缩、回源选路等优化手段,有效降低源站压力和回源延迟,提升响应速度。
  4. 运维简化:一站式管理控制台,可统一配置和查看各项功能,极大减轻运维工作量。
  5. 自动弹性:可根据实际业务访问量智能动态调整带宽资源,同时内置流量监控和带宽封顶,防止突发流量对源站造成冲击。
    总的来说,EO作为一个融合型平台产品,为用户提供高可用、高性能、高安全的一体化内容分发、网络安全及边缘计算解决方案,避免了单点服务可能存在的能力缺陷。对于中大型网站而言,可以极大简化整体架构,降低运维复杂度,缩短业务上线时间,是一种高性价比的解决方案。
    这个产品卖这个价位还是非常有性价比的,大家感兴趣的可以去体验一下:https://cloud.tencent.com/act/pro/edgeone_techoday_promotion?from=22008
    在这里插入图片描述

http://www.ppmy.cn/embedded/8793.html

相关文章

0-1 数据大屏——这样设计高质量可视化大屏

5 大指南塑造高阶可视化 可视化是个友好的媒介 理解数据是成为优秀媒介的关键 业务驱动下的设计策略 图扑设计的无限可能 创新思维让可视化更具价值 可视化是个友好的媒介 我们正处于一个数据泛滥的时代,随处可见数据的身影,更知其不可忽视的重要…

UE5集成gRPC

最近有项目需要在UE5里做RPC,对比了thrift、gRPC、rcplib等开源rpc框架,由于习惯使用protobuf,故选择了gRPC。然而,Google出品也是一言难尽啊,最起码编译太繁琐了。 本次使用的gRPC版本为1.62.1,UE5.2&…

【JavaEE多线程】线程的创建

系列文章目录 🌈座右铭🌈:人的一生这么长、你凭什么用短短的几年去衡量自己的一生! 💕个人主页:清灵白羽 漾情天殇_计算机底层原理,深度解析C,自顶向下看Java-CSDN博客 ❤️相关文章❤️:清灵白羽 漾情天…

统一SQL-支持cast函数

统一SQL介绍 https://www.light-pg.com/docs/LTSQL/current/index.html 源和目标 源数据库:Oracle 目标数据库:Postgresql,TDSQL-MySQL,达梦8,LightDB-Oracle 操作目标 在Oracle中,cast函数允许将一种…

【LeetCode热题100】【矩阵】旋转图像

题目链接:48. 旋转图像 - 力扣(LeetCode) 要将一个矩阵顺时针旋转90,数学公式是new[j][n-i-1]old[i][j],要原地翻转的话,可以先水平翻转,即变成m[n-i-1][j],再主对角线翻转&#xf…

图文教程 | Git安装配置、常用命令大全以及常见问题

前言 因为多了一台电脑,平时写一些代码,改一些文件,用U盘存着转来转去特别麻烦。于是打算用Git管理我的文件,方便在两个终端之间传输数据啥的。也正好给新电脑装好Git。 📢博客主页:程序源⠀-CSDN博客 &…

使用docker指令删除所有不再使用的镜像

要删除所有未使用的 Docker 镜像,你可以使用以下命令: docker image prune -a这个命令将删除所有未被任何容器引用的镜像,包括未被标签的悬空镜像和已被标记为 的镜像。 解释一下命令中的选项: docker image prune:这…

Matlab对多个输入信号进行数值排序提取特定值

1、将多个信号转为一个数组信号输出,在这里需要注意,数据类型是否统一; 2、使用Sort模块,进行排序(可设置排序方向),得到排序后的新数组以及对应的索引号; 3、设置想要的索引号&…

2024_GAMES101作业环境配置Mac(intel)_VSCode_Clion

目录 VSCodeClionCMakeList.txt VSCode brew install cmake 更换下载源为阿里云下载 opencv,不然会很慢 cd "$(brew --repo)" git remote -v cd "$(brew --repo)" git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git…

P450焕新而来,室内外两用+路径规划+YOLO点击跟踪,算力高达100TOPS

Prometheus 450(简称P450)是一款室内室外两用的中型轴距(410mm)无人机,基于F450基础飞行平台,搭载感知传感器二维平面激光雷达,双目深度相机等,配合软件Prometheus自主无人机系统和S…

08-GPtimer

通用定时器 (GPTimer) 通用定时器简介 通用定时器可用于准确设定时间间隔、在一定间隔后触发(周期或非周期的)中断或充当硬件时钟。如下图所示,ESP32-S3 包含两个定时器组,即定时器组 0 和定时器组 1。每…

C++超级快读快写2.3

#ifndef VERY_FAST_IO3 #define VERY_FAST_IO3 #include <unistd.h> #include<bits/stdc.h>namespace MTL{using namespace std;//getchar_unlocked/putchar_unlocked貌似快一点&#xff1f; #define likely(x) __builtin_expect(!!(x), 1)#define unlikely(x) __b…

c语言中,数组取地址的书写格式

数组取地址 为了更好的区分数组取地址时的情况&#xff0c;我们建立两个数组&#xff0c;arr1一维数组和arr2二维数组&#xff0c;用printf函数来打印出每个例子arr1和arr2的地址&#xff0c;这样可以更加直观的区分出来。 首先我们看到第一组打印&#xff0c;可以看到若是直接…

Unity3D 爆火的休闲益智游戏工程源码/3D资源 大合集

Unity3D休闲益智游戏工程源码大合集 一、关卡类游戏工程源码二、跑酷类游戏工程源码三、消除合成类游戏工程源码四、棋牌类游戏工程源码五、RPG(角色扮演)类游戏工程源码六、FPS&#xff08;射击&#xff09;类游戏工程源码十、Unity3D工艺仿真六、Unity游戏资源1、Unity3D 吃鸡…

Stable Diffusion超详细教程!从0-1入门到进阶

一、本地部署 Stable Diffusion 前言 目前市面上比较权威&#xff0c;并能用于工作中的AI绘画软件其实就两款。一个叫Midjourney&#xff08;简称MJ&#xff09;&#xff0c;另一个叫Stable-Diffusion&#xff08;简称SD&#xff09;。MJ需要付费使用&#xff0c;而SD开源免费…

Keil MDK下如何设置非零初始化变量 及变量指定位置- Arm CompilerV5 和 V6区别

目录 一、Arm CompilerV51.定义变量时&#xff0c;使用编译器扩展属性__attribute__((section("name"), zero_init))来将变量放入指定段中。其中section("name")选择一个指定的段&#xff0c;zero_init告诉编译器将变量放入ZI段。 二、Arm CompilerV61.定义…

redis分布式锁到底怎么用

首先目前基本用的Redis 分布式锁有两种&#xff1a; 1、Redis 锁通常通过 SETNX&#xff08;SET if Not eXists&#xff09;命令实现&#xff0c;该命令只在键不存在时设置值。结合 TTL&#xff08;Time To Live&#xff09;可以防止锁永远不释放的问题。 2、Redisson 是一个在…

Spark集群的搭建

1.1搭建Spark集群 Spark集群环境可分为单机版环境、单机伪分布式环境和完全分布式环境。本节任务是学习如何搭建不同模式的Spark集群&#xff0c;并查看Spark的服务监控。读者可从官网下载Spark安装包&#xff0c;本文使用的是spark-2.0.0-bin-hadoop2.7.gz。 1.1.1搭建单机版…

ubuntu18.04安装F4PGA教程

环境搭建教程&#xff1a; f4pga-arch-defs/xilinx/xc7 at main f4pga/f4pga-arch-defs GitHub git clone https://github.com/SymbiFlow/f4pga-arch-defs.git cd f4pga-arch-defs make env cd build 主要是make env&#xff0c;会下载很多东西&#xff0c;然后生成很多描…

MySQL 基础语法(2)

文章目录 创建表查看表修改表表数据插入 本文为表结构相关的基础语言库相关的基础语句 创建表 CREATE TABLE table_name ( field1 datatype comment xxx, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎;CREATE TABLE&#xff1…