posts: 添加关于EdgeOne和ESA CDN对比的文章,包含21张对比图片

This commit is contained in:
二叉树树
2026-01-16 18:11:26 +08:00
parent c062848631
commit 4f80e43111
25 changed files with 128 additions and 3 deletions

View File

@@ -85,7 +85,8 @@ function extractImageReferences(content) {
// 但如果是本地文件引用,可能直接就是路径
// 1. 匹配标准 Markdown 图片 ![...](...)
const markdownImageRegex = /!\[.*?\]\((.*?)\)/g;
// 修复:支持 URL 中包含一层括号,例如 image(1).png
const markdownImageRegex = /!\[.*?\]\(((?:[^()]+|\([^()]*\))+)\)/g;
while ((match = markdownImageRegex.exec(content)) !== null) {
let url = match[1].trim();
// 如果 URL 包含 title 部分 (例如 "path/to/image.png" "Title"),去除 title

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

View File

@@ -0,0 +1,120 @@
---
title: EO VS ESA谁才是国内CDNの王
published: 2026-01-16T16:53:08
description: EdgeOne和ESA都是非常好的免费国内CDN常规用起来几乎一模一样今天我们就来让他俩一决雌雄
image: ../assets/images/eovsesa.png
draft: false
lang: ""
---
# 前言
首先EdgeOne是来的最早的于25年7月就开始测试了而ESA是10月才开放的。
虽然EdgeOne在早期需要兑换码换免费套餐而兑换码从早期的发推特然后找官方领码再到Discord群组每天固定时间发码最后到测速分享直接拿兑换码门槛逐渐放低功能逐渐齐全。
而ESA由于是后来者直接给每个阿里云账户发了一个免费的ESA套餐如果你有多站点接入的需求也可以通过拉人头来得到更多的免费套餐。
就当前26年1月来说两家的体验大差不差但是EdgeOne和ESA的底层逻辑是有点区别的。
# 底层逻辑对比
EdgeOne这个项目特别是Page在24年就已经初具雏形并且能够像那些大厂如Cloudflare PageGithub PageVercel等静态托管平台一样使用了但是当时一是腾讯是悄咪咪上的二是节点实在是太烂了只有海外新加坡节点也不支持国内节点。
而ESA大概率是从老的DCDN和云函数FC改过来的控制台就已经露出鸡脚了。
![](../assets/images/eovsesa-1.png)
# 规则引擎与WAF
ESA的很多东西直接是照抄Cloudflare的比如
![](../assets/images/eovsesa-3.png)
![](../assets/images/eovsesa-2.png)
并且还将每条规则嵌套子规则也算一条全部砍了一刀免费套餐仅支持5条规则。
![](../assets/images/eovsesa-4.png)
## EdgeOne 的优势
反观EdgeOne它没有照抄Cloudflare而是自己写了一套规则引擎所有类型的规则都在一处地方配置并且可以互相联动。
![](../assets/images/eovsesa-5.png)
![](../assets/images/eovsesa-6.png)
甚至你还可以对不合法请求在L7给空。
![](../assets/images/eovsesa-7.png)
![](../assets/images/eovsesa-8.png)
### 优先级陷阱
并且要注意一点虽然你可以在规则引擎里伪装一个WAF拦截但是在EdgeOne中流量会先经由规则引擎再经过WAF也就是如果你在WAF写了个非CN拦截然后在规则引擎里写个非CN给空海外IP访问只能看到空响应看不到拦截页面流量也照记难绷
![](../assets/images/eovsesa-9.png)
## ESA 的策略
而ESA这边WAF的优先级始终是最高的流量会先被WAF网关审查通过后才应用规则但是免费套餐不支持在WAF中设置地域级别的拦截难绷
![](../assets/images/eovsesa-10.png)
### 曲线救国方案
但是有个曲线救国的方案,就是先写个规则将流量全拦截,然后再写个白名单规则,将可信流量绕过该规则。
![](../assets/images/eovsesa-11.png)
![](../assets/images/eovsesa-12.png)
# 回源配置
再接着就是因为ESA照抄Cloudflare所以创建加速站点的时候默认是HTTP走80HTTPS走443回源如果你要更改回源的端口还需要浪费一个回源规则。
![](../assets/images/eovsesa-13.png)
而EdgeOne可以在创建站点的时候直接就设置回源端口以及回源Host。
![](../assets/images/eovsesa-14.png)
# SSL 证书签发
再到SSL签发首先两家都支持默认的CNAME签发也就是你把域名解析到我这我帮你签SSL但是EdgeOne的CNAME签发是每一个站点单独签一次。
![](../assets/images/eovsesa-15.png)
而ESA是统一管理你给我个DCV我直接给你签一个泛域名之后你就用去吧。
![](../assets/images/eovsesa-16.png)
# 规则隔离与互通
然后就是最重磅的EdgeOne独属的左右脑互搏时刻。
在EdgeOne CDN和EdgeOne Page中他俩的规则竟然不是互通的CDN业务走CDN的规则Page的规则走Page的规则也行吧他想做干湿分离我配两套没问题。
## 功能阉割
但是阉割是什么意思为什么CDN可以写地域判断Page就只能写IP
![](../assets/images/eovsesa-17.png)
![](../assets/images/eovsesa-18.png)
那么也没有什么让Page吃上CDN规则的方法呢有的兄弟有的但是这样会在控制台看到双倍流量如果你的Page纯静态可以写个全缓存缓解一下
![](../assets/images/eovsesa-19.png)
# Page 服务对比
接着到Page部分。
EdgeOne的Page你可以直接看作是Cloudflare Page的本地化甚至突破了核心代码直接可以在Page里面跑Nodejs服务要知道Cloudflare Page也只有一个V8环境Umami也可以SSR函数小于等于128MB即可并且可以托管海量大和多的文件。
![](../assets/images/eovsesa-20.png)
而ESA Page非常像云函数FC改过来的虽然也支持函数吧但没有完整的Nodejs环境甚至最近WebSocket也被砍了关闭后就打不开了并且托管的文件数以及单文件大小如下限制。
![](../assets/images/eovsesa-21.png)
# 速度与限速
最后就是速度相关根据多方数据以及自测两个CDN都会在长时间的单IP上下行请求逐渐将速率削减至大约 500KB/s但如果只是正常业务使用短时间的突发速率都可以飙到50MB/s左右但不能长期所以这俩CDN都不适合反向代理对象存储以及大文件分发如果有类似业务需求还是老实用CloudflareCF是不限速的。

View File

@@ -227,11 +227,15 @@ const bannerOffset =
background-size: var(--bg-size);
background-repeat: var(--bg-repeat);
background-attachment: var(--bg-attachment);
opacity: var(--bg-opacity);
opacity: 0;
pointer-events: none;
z-index: -1;
transition: opacity 0.3s ease-in-out;
transition: opacity 0.5s ease-in-out;
}
.bg-loaded #bg-box {
opacity: var(--bg-opacity);
}
/* #bg-box.loaded {
opacity: calc(var(--bg-opacity) * var(--bg-enable));