
本文将全面介绍腾讯云EdgeOne的边缘安全加速平台,涵盖产品简介、接入指南、核心功能详解以及实际应用案例,帮助开发者快速掌握这一一体化边缘计算平台的使用方法。
腾讯云EdgeOne是一款集成了CDN加速和全方位安全防护的边缘计算平台产品。它采用一体化边缘架构,实现了安全防护(DDoS/WAF/Bot管理)、全球加速和边缘计算的无缝结合,为用户提供高性能、高可用的全球网络服务。
EdgeOne与传统方案相比具有显著优势:
维度 | EdgeOne | 传统CDN+安全方案 |
|---|---|---|
架构 | 一体化集成 | 多产品拼装 |
成本 | 攻击流量不计费 | 保底+弹性计费 |
运维 | 单控制台管理 | 多平台切换 |
节点覆盖 | 3200+节点,中小运营商优化 | 通常仅主流运营商覆盖 |
部署速度 | 分钟级接入 | 需单独配置各服务 |
EdgeOne拥有全球70+国家/地区覆盖,200Tbps+带宽储备,境内深度覆盖2300+节点,海外900+节点,覆盖欧美、东南亚、中东等关键区域。
在开始接入EdgeOne之前,需要准备以下内容:
注意:如果选择中国大陆可用区或全球可用区,域名必须在工信部完成备案(通常需要15个工作日)。
EdgeOne提供两种接入模式,根据需求选择合适的方式:
特性 | NS接入(推荐) | CNAME接入 |
|---|---|---|
适用场景 | 可修改原有域名解析服务商 | 不希望更改原有解析服务商 |
接入方式 | 只需修改一次DNS服务器 | 每次新增子域名都需添加CNAME记录 |
验证方式 | 修改NS服务器至EdgeOne指定地址 | 通过DNS记录或文件验证域名归属权 |
调度方式 | A记录直接指向边缘节点 | 通过CNAME调度至边缘节点 |
根据选择的接入模式,添加加速域名的步骤有所不同:
接入完成后,可以通过以下方式验证是否成功:
nslookup -qt=A yourdomain.comdig yourdomain.comEdgeOne边缘函数允许在边缘节点上执行自定义代码,无需配置和管理服务器。以下示例演示如何自动将图片转换为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));
});创建函数后,需要配置触发规则来确定何时执行该函数:
示例触发规则:
/zb_users/cache/thumbs/*/zb_users/upload/*部署完成后,可以通过以下方式验证效果:
image/webp。EdgeOne边缘函数还可以用于托管静态网站,无需单独配置服务器。
以下示例演示如何通过边缘函数代理GitHub上的静态资源:
/**
* 静态仓库托管示例
* @url https://github.com/username/repo
*/
const BACKEND_PREFIX = 'https://raw.githubusercontent.com/username/repo/master';
async function githubProxy(request) {
const uObj = new URL(request.url);
let backend = BACKEND_PREFIX + uObj.pathname;
if (backend.endsWith('/')) {
backend += 'index.html';
}
const res = await fetch(backend, {
method: request.method,
headers: {
'User-Agent': request.headers.get('User-Agent'),
}
});
const headers = new Headers();
headers.set('Backend-Url', backend);
headers.set('Content-Type', fileType(backend));
headers.set('Cache-Control', 'public, max-age=86400');
return new Response(res.body, {
status: res.status,
headers,
});
}
function fileType(url) {
const ext = url.split('?').shift().split('.').pop();
const mimes = {
'json': 'application/json; charset=utf-8',
'js': 'application/javascript; charset=utf-8',
'css': 'text/css; charset=utf-8',
'xml': 'text/xml; charset=utf-8',
'html': 'text/html; charset=utf-8',
'webm': 'video/webm',
'mp3': 'audio/mpeg',
'mp4': 'video/mp4',
'webp': 'image/webp',
'gif': 'image/gif',
'png': 'image/png',
'jpg': 'image/jpeg',
'jpeg': 'image/jpeg',
'svg': 'image/svg+xml',
'ico': 'image/x-icon',
};
return mimes[ext] || 'text/plain';
}
// 事件监听器
addEventListener('fetch', e => {
const resp = githubProxy(e.request);
e.respondWith(resp);
});EdgeOne提供全面的安全防护功能,包括DDoS防护、Web应用防火墙、速率限制等。
例外规则允许对匹配特定条件的请求跳过指定的防护规则处理。
基础访问管控:支持配置IP黑白名单、Referer黑名单、UA黑白名单或地域限制。
示例:限制只有特定地区可以访问
# 假设已获取EdgeOne SDK实例edge_one
# 配置仅允许陕西地区访问
edge_one.security.set_geo_restriction(allowed_countries=['CN'], allowed_regions=['Shaanxi'])精确匹配规则:支持多条件组合匹配请求,适用于复杂场景。
示例:限制只有内部IP可以访问管理系统
# 仅允许公司IP访问管理后台
rule = {
"conditions": [
{"type": "path", "value": "/admin*"},
{"type": "ip", "value": "公司IP范围", "operator": "not_in"}
],
"action": "block"
}
edge_one.security.add_custom_rule(rule)自适应频控&智能分析:
精准速率限制:
示例:限制登录接口访问频率防止暴力破解
# 限制登录接口请求频率:10次/分钟,超过则封禁IP10分钟
rule = {
"path": "/login",
"limit": 10,
"period": 60,
"action": "block",
"block_time": 600
}
edge_one.security.set_rate_limit(rule)EdgeOne内置500+安全防护规则,涵盖:
EdgeOne支持自定义拦截页面,支持多种响应格式:
# 设置IP黑名单,禁止指定IP访问
blacklist_ips = ["1.2.3.4", "5.6.7.8"]
edge_one.security.set_ip_blacklist(blacklist_ips)
# 设置访问速率限制,每秒最多100个请求
rate_limit = {"requests_per_second": 100}
edge_one.security.set_rate_limit(rate_limit)
# 启用DDoS防护,自动清洗异常流量
edge_one.security.enable_ddos_protection()# 配置防刷策略,限制单用户在指定时间内的请求次数
anti_brush_config = {
"identifiers": ["user_agent", "ip"],
"max_requests": 10,
"time_window_seconds": 60
}
edge_one.anti_brush.enable_config(anti_brush_config)
# 在抢购开始时启用防刷保护
edge_one.anti_brush.enable_protection()# 强制开启HTTPS,确保数据传输安全
edge_one.security.enable_https_enforcement()
# 启用WAF防火墙,防范SQL注入、XSS攻击等
edge_one.security.enable_waf()
# 配置边缘缓存策略,缓存静态资源
cache_rules = [
{"path_pattern": "/static/*", "ttl": 3600},
{"path_pattern": "/images/*", "ttl": 3600}
]
edge_one.caching.set_rules(cache_rules)腾讯云EdgeOne作为一款集成边缘加速与安全防护的一体化平台,提供了简单易用的接入方式和强大的功能特性。通过本文介绍的接入指南、功能使用教程和实战案例,开发者可以快速上手EdgeOne,为网站和应用提供更快速、更安全的访问体验。
EdgeOne的免费套餐和直观的控制台使新手能够在10分钟内完成配置,而其先进的安全防护和全球加速能力也能满足企业级应用的需求。无论是个人博客还是大型电商平台,EdgeOne都能提供合适的解决方案。
注意事项:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。