
Halo 博客接入腾讯 EdgeOne 实战指南!
个人版使用 7 个月的真实体验,非广告,仅供参考
1. 为什么给 Halo 加 CDN?
Halo 是基于 SpringBoot 的轻量博客系统,默认所有资源(主题、图片、附件)都由后端直接返回。对国内外访客来说,页面加载往往受限于网络往返和服务器带宽。
EdgeOne 提供:
全球 2800+ 边缘节点,最近节点直接返回内容。
内置 DDoS、CC、Bot 防护,站点安全“一键开启”。
边缘函数(Serverless)可在节点层完成图片 WebP 转换、请求改写等。
HTTPS 免费证书自动续期,省去自行部署 Nginx。
实际效果:首页 TTFB
从 1.7 s 降至 0.9 s,图片体积平均缩小 30%。
2. 接入准备
腾讯云账号已实名认证。
准备好站点域名(如
blog.example.com
),若站点在中国大陆必须完成工信部备案。登录 EdgeOne 控制台 → “站点管理” → “新增站点”。
推荐使用 DNSPod 托管接入,只需在腾讯云 DNSPod 添加一条 CNAME 记录即可完成,无需改动原有 NS。
3. 套餐与加速区域选择
个人站点流量 <10 GB/月,推荐 个人版免费套餐(含 10 GB 加速流量、基础 DDoS/CC 防护)。
加速区域:
中国大陆可用区 → 需要备案,节点仅在国内。
全球可用区(含中国) → 备案后可使用全球节点。
全球可用区(不含中国) → 无备案要求,适合纯海外访客。
我使用的是「全球可用区(含中国)」,兼顾国内外访问。
4. Halo 专属缓存规则
Halo 的静态资源主要分布在以下路径:
/themes/*/assets/**
– 主题 CSS/JS/图片/uploads/**
– 文章图片、附件/api/**
– 动态 JSON 接口(不缓存)
进入站点加速:
点击规则引擎:
然后点击网站加速:
进入后点击右上角的编辑:
所有的设置请依据下方图片编辑就行:
5. 边缘函数实现自动 WebP 转换
图片压缩是提升访问速度的关键。EdgeOne 支持在节点层对图片进行格式转换。
步骤:
找到菜单下 '边缘函数->函数管理' 来实现自动转webp 如果失败会自动回源
选择图片处理 ,然后将下面函数代码填入即可:
async function handleEvent(event) {
const { request } = event;
const accept = request.headers.get('Accept');
const option = { eo: { image: {} } };
// 客户端支持 WebP 则转换,否则返回原图
if (accept && accept.includes('image/webp')) {
option.eo.image.format = 'webp';
}
const response = await fetch(request, option);
return response;
}
addEventListener('fetch', event => {
// 若函数异常,直接回源
event.passThroughOnException();
event.respondWith(handleEvent(event));
});
创建触发规则:
HOST:
blog.example.com
URL Path:
/uploads/*
(匹配所有上传的图片)
这样,访问 https://blog.example.com/uploads/2025/09/hero.jpg
时,若浏览器 Accept
包含 image/webp
,EdgeOne 会在节点直接返回 WebP,省去回源。
如果网站SVG比较多建议配置Svg回源在回到规则引擎
创建新增SVG引擎
6. HTTPS 与证书自动续期
在「站点概览」→「HTTPS」打开「免费证书」开关,EdgeOne 会自动为域名申请 Let’s Encrypt 证书并每 90 天自动续期。无需自行配置 Nginx。
如果已有自有证书,也可以在「自定义证书」处上传,EdgeOne 会在边缘节点统一使用。
7. 其他实用设置
自定义 Cache Key:在「规则引擎」→「自定义 Cache Key」中加入
Host
与QueryString
,防止不同子域或查询参数导致误缓存。离线缓存:开启「离线缓存」后,即使源站异常,EdgeOne 仍会返回已过期但可用的缓存,提升容灾能力。
预热缓存:在「站点概览」→「缓存预热」填写首页 URL,系统会主动请求并缓存到节点,首访用户即可命中。
8. 实测数据(7 个月)
数据来源:EdgeOne 控制台「流量分析」+ 本地 Chrome DevTools。
9. 常见问题速答
Q:是否需要在原服务器上再装 CDN 插件? A:不需要,所有加速与防护均在 EdgeOne 边缘完成,原站保持原有配置即可。
Q:如果主题更新,缓存会不会导致旧文件? A:在主题发布后手动点击「清除缓存」或使用「缓存预热」重新拉取最新文件。
Q:EdgeOne 是否支持 HTTP/3(QUIC)? A:默认已开启,浏览器支持时会自动使用。
Q:如何查看防护日志? A:控制台 → 「安全分析」可查看 DDoS、CC、Bot 的拦截次数与来源 IP。
10. 小结 & 推荐
对 Halo 这类轻量博客而言,EdgeOne 的「一站式」方案极大降低了运维成本:
零成本的个人套餐足以支撑日均几千访问。
边缘函数让图片自动 WebP,无需改动后端代码。
全局防护免去自行部署 WAF 的繁琐。
如果你也在寻找低成本、易上手的 CDN+安全方案,强烈推荐先使用个人版免费套餐进行试跑,确认效果后再考虑升级。