互联网业务全球化发展背景之下,网页站点、音视频点播直播、APP下载、电商动态接口、游戏实时通信等业务对访问延迟、可用性、安全防护提出越来越高的要求。传统源站直连模式,跨地域、跨运营商访问延迟高,突发流量容易打垮源站,同时缺少配套攻击防护能力。新版CDN完成全方位能力升级,不再只是简单静态内容缓存分发工具,进化为集全球网络调度、边缘智能缓存、动态内容加速、全链路安全防护、可编程边缘计算、自动化运维于一体的一体化边缘基础设施。依托全球3200+边缘节点、180Tbps+弹性出口带宽,覆盖70余个国家与地区,同时兼容静态资源、动态API、音视频、四层实时通信各类业务。本文从全球网络与智能调度、边缘缓存性能优化、动态加速、安全防护、EdgeScript边缘脚本、监控日志运维、业务场景适配、计费模式展开完整讲解,附带大量可直接复制的CLI命令、脚本示例,帮助开发者完成CDN接入、调优、自动化运维落地。
一、全球网络基础设施与智能调度核心
新版CDN搭建大规模分布式边缘节点网络,国内覆盖全部省份主要城市,海外覆盖欧美、亚太、中东、拉美区域。边缘节点硬件全部采用万兆网卡搭配SSD高速存储,保障高并发读写性能。全网超大弹性带宽可以承接业务突发峰值流量,应对营销活动、版本发布、直播大流量冲击。详情👉访问阿里云 CDN 服务平台了解
智能调度系统依托海量IP地址库、实时探测节点负载、链路质量、用户地理位置、运营商信息,多维计算,将用户请求调度至最优边缘节点。具备三大核心能力:第一跨运营商优化,自动识别客户端运营商,规避跨网拥堵;第二故障自动容灾,节点或者链路出现故障,流量自动切换到健康备用节点,业务无感知,整体服务可用性可达99.99%;第三协议自适应,自动识别客户端支持能力,自动适配HTTP/1.1、HTTP/2、HTTP/3(QUIC)协议,弱网环境下提升传输效率。
二、边缘缓存与性能优化,降低源站压力
缓存是CDN的基础能力,合理配置缓存策略,能够大幅提升缓存命中率,减少回源请求,降低源站带宽与计算压力。详情👉访问阿里云 CDN 服务平台了解
2.1 缓存基础操作:刷新、预热
业务资源更新之后,需要清除边缘节点旧缓存;热门资源上线之前,可以做缓存预热,将资源提前推送到各边缘节点,用户首次访问就命中缓存。使用aliyun‑cli可以直接完成刷新与预热。
# 刷新单个文件URL
aliyun cdn RefreshObjectCaches --ObjectPath "https://example.com/image.jpg" --ObjectType File
# 刷新整个目录
aliyun cdn RefreshObjectCaches --ObjectPath "https://example.com/static/" --ObjectType Directory
# 预热热门视频资源到边缘节点
aliyun cdn PushObjectCache --ObjectPath "https://example.com/hot-video.mp4"
2.2 自定义CacheKey
很多业务URL携带参数,部分参数不影响资源内容,如果全部计入缓存key,会造成缓存分裂,命中率下降。自定义CacheKey可以自主选择scheme、host、uri、指定请求参数、cookie作为缓存键,解决多版本资源、参数干扰缓存的问题。
# 缓存key包含协议、域名、请求路径以及id参数,忽略其余url参数
aliyun cdn SetCdnDomainConfig --DomainName example.com --ConfigId 12345 --ConfigValue '{"cache_key":"$scheme$host$request_uri$arg_id"}'
2.3 响应过期缓存stale‑while‑revalidate
这是新版重要增强能力,当源站出现超时、4xx、5xx异常,CDN节点可以继续使用已经过期的缓存内容对外提供服务,后台异步回源刷新内容。源站短暂故障时,终端用户依旧可以获取内容,极大提升业务连续性。
# 开启过期缓存能力,stale‑while‑revalidate、stale‑if‑error均设置24小时
aliyun cdn SetCdnDomainConfig --DomainName example.com --ConfigId 67890 --ConfigValue '{"stale_while_revalidate":"86400","stale_if_error":"86400"}'
2.4 资源自动压缩与图片智能处理
CDN边缘节点可以自动完成Gzip、Brotli压缩,对HTML、CSS、JS、JSON文本资源压缩,体积下降60‑80%;同时内置图片处理能力,自动转WebP/AVIF格式、调整画质、裁剪、加水印,根据客户端设备返回适配图片。
# 开启图片自动转为webp格式,图片质量80
aliyun cdn SetCdnDomainConfig --DomainName example.com --ConfigId 11223 --ConfigValue '{"image_process":"format,webp/quality,80"}'
三、动态内容全站加速能力
静态文件适合缓存,但是电商接口、社交交互、实时查询这类动态API无法缓存,新版动态加速DCDN针对这类业务做深度优化。通过全球链路实时探测,智能选择最优传输路径;深度优化TCP协议栈,减少丢包重传;长连接链路复用,减少握手开销。同时支持WebSocket、TCP/UDP四层加速,适配游戏、实时音视频、消息推送等低延迟业务。详情👉访问阿里云 CDN 服务平台了解
添加动态加速域名示例:
# 添加动态加速域名,源站为ECS公网IP,端口80
aliyun cdn AddCdnDomain --DomainName dynamic.example.com --CdnType dynamic --Sources '[{"content":"120.xx.xx.xx","type":"ip","port":80,"priority":20,"weight":100}]' --Scope domestic
四、全链路安全防护体系
CDN边缘作为流量入口,集成传输加密、访问控制、Web攻击防护、CC、Bot、DDoS、区域封禁、流量封顶整套安全能力,流量在到达源站之前就在边缘完成清洗,减轻源站安全压力。
4.1 HTTPS证书管理
支持一键申请免费SSL证书,也支持上传自有证书,启用TLS1.3,配置HTTP强制跳转HTTPS。
# 配置平台免费证书,开启HTTPS
aliyun cdn SetCdnDomainSSLCertificate --DomainName example.com --CertName "example-cert" --CertType cas --SSLProtocol on --Region cn-hangzhou
# 上传自定义证书
aliyun cdn SetCdnDomainSSLCertificate --DomainName example.com --CertName "custom-cert" --CertType upload --SSLProtocol on --SSLPub "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----" --SSLPri "-----BEGIN PRIVATE KEY-----...-----END PRIVATE KEY-----"
4.2 URL鉴权防盗链
通过URL签名鉴权,生成带时效访问链接,防止资源被非法盗刷、爬虫批量下载。
# 开启URL鉴权类型A,密钥,链接有效期3600秒
aliyun cdn SetCdnDomainConfig --DomainName example.com --ConfigId 33445 --ConfigValue '{"auth_type":"a","auth_key":"your-secret-key","auth_expire":"3600"}'
4.3 区域封禁
按国家/地区维度拦截访问请求,满足业务合规、风控需求。
# 封禁美国、日本、韩国地区访问
aliyun cdn SetCdnDomainConfig --DomainName example.com --ConfigId 55667 --ConfigValue '{"block_region":["US","JP","KR"]}'
4.4 流量与成本管控
配置流量、带宽上限,到达阈值自动限流,避免业务突增流量造成账单失控。
# 设置每日流量上限100GB,超出自动限流
aliyun cdn SetCdnDomainConfig --DomainName example.com --ConfigId 77889 --ConfigValue '{"traffic_limit":"107374182400","traffic_limit_action":"throttle"}'
五、EdgeScript边缘脚本:可编程CDN
EdgeScript赋予CDN可编程能力,使用类JavaScript语法,运行在全球边缘节点。可以在请求阶段head位置,或者响应返回foot位置执行自定义逻辑,实现修改请求头、响应头、重定向、拦截请求、自定义缓存TTL、A/B测试等复杂业务逻辑。支持测试环境与生产环境隔离,先测试再上线,规避线上故障。
脚本示例1:自定义添加响应头
// add_header.es
add_rsp_header('Cache‑Control', 'public, max‑age=31536000');
add_rsp_header('X‑CDN‑Edge‑Node', $node_ip);
脚本示例2:根据访问地区做重定向
// region_redirect.es
if eq($region, 'US') {
redirect('https://us.example.com$request_uri', 302);
}
脚本示例3:拦截特定后缀文件访问
// block_m3u8.es
if eq(substr($uri, -5), '.m3u8') {
add_rsp_header('X‑Deny‑Reason', 'Blocked resource');
exit(403);
}
EdgeScript CLI部署命令
# 推送脚本至测试环境验证
./es.py action=push_test_env domain=example.com rule='{"pos":"head","pri":"10","rule_path":"./block_m3u8.es","enable":"on"}'
# 测试无误后推送生产环境
./es.py action=push_product_env domain=example.com rule='{"pos":"head","pri":"10","rule_path":"./block_m3u8.es","enable":"on","configid":"12345"}'
# 查询已部署脚本
./es.py action=query_product_env domain=example.com
六、监控、日志与自动化运维
CDN提供完整监控指标:带宽、流量、请求数、回源带宽、缓存命中率、各状态码占比、平均访问延迟。支持自定义告警,通过短信、邮件、钉钉推送告警消息。同时支持实时日志秒级输出,可以推送到日志服务或者对象存储,用于问题排查、用户行为分析。
监控查询命令
# 查询域名时间段流量数据,间隔1小时
aliyun cdn DescribeDomainUsageData --DomainName example.com --StartTime "2024-08-01T00:00:00Z" --EndTime "2024-08-10T23:59:59Z" --DataInterval 3600 --Field "traffic"
# 查询缓存命中率指标
aliyun cdn DescribeDomainHitRateData --DomainName example.com --StartTime "2024-08-01T00:00:00Z" --EndTime "2024-08-10T23:59:59Z" --DataInterval 3600
开启实时日志推送
# 开启实时日志,投递至日志服务项目与日志库
aliyun cdn SetCdnDomainConfig --DomainName example.com --ConfigId 99001 --ConfigValue '{"real_time_log":"on","log_service_project":"your-project","log_service_logstore":"your-logstore"}'
Terraform基础设施即代码示例
可以通过Terraform管理CDN域名资源,把加速域名、缓存、HTTPS配置纳入代码版本管理,实现批量自动化交付。
provider "alicloud" {
region = "cn‑hangzhou"
}
resource "alicloud_cdn_domain" "web‑cdn" {
domain_name = "static.example.com"
cdn_type = "web"
sources {
content = "oss‑demo.aliyuncs.com"
type = "oss"
port = 80
}
https_config {
ssl_protocol = "on"
cert_type = "cas"
cert_name = "example‑cert"
}
cache_rules {
cache_content = "0"
ttl = 86400
weight = 10
}
}
批量添加域名
aliyun cdn BatchAddCdnDomain --Domains '[{"DomainName":"static1.example.com","CdnType":"web","Sources":[{"content":"oss‑xxx.aliyuncs.com","type":"oss","port":80}]},{"DomainName":"static2.example.com","CdnType":"web","Sources":[{"content":"oss‑xxx.aliyuncs.com","type":"oss","port":80}]}]'
七、业务场景与云上生态集成
新版CDN适配几乎所有互联网业务场景:
- 网页静态加速:网站JS、CSS、图片静态资源缓存,搭配压缩、图片自适应,页面加载速度大幅提升;
- 下载分发业务:软件包、游戏资源包下载,TCP栈优化,提升弱网下载速度;
- 音视频点播直播:HLS、FLV流媒体缓存,配合鉴权防盗链,降低卡顿率;
- 动态业务:电商、社交、金融动态接口,动态加速降低跨地域访问延迟;
- 移动APP业务:APP资源包、API请求全球分发,改善海外用户访问体验。
生态层面可以和对象存储OSS无缝对接,OSS作为源站;对接ECS作为动态业务源站;对接日志服务做日志分析;对接云监控做告警;边缘脚本可以联动函数计算,在边缘触发服务逻辑,减少回源。
八、计费模式
支持四类计费方案,按需选型:
- 按量付费:后付费,适合流量波动大、临时活动业务;
- 流量包:预购流量,单价更低,适合流量平稳业务;
- 带宽包:预购固定带宽,适合带宽曲线平稳;
- 月95峰值计费:面向大带宽高并发企业业务。
查询域名计费数据命令:
aliyun cdn DescribeCdnDomainBillData --DomainName example.com --StartTime "2024-08-01T00:00:00Z" --EndTime "2024-08-10T23:59:59Z"
九、总结
新版CDN已经完成从单纯静态缓存分发,向“加速+安全+边缘计算+自动化运维”一体化边缘基础设施转型。依托全球大规模边缘节点、智能调度,解决跨地域跨网访问慢的痛点;智能缓存、响应过期缓存、资源压缩、图片处理,持续优化用户体验同时保护源站;动态加速覆盖API、WebSocket、四层实时通信;内置全套安全能力,在边缘拦截攻击;EdgeScript边缘脚本带来可编程扩展能力,满足高度定制业务;OpenAPI、Terraform支持基础设施代码化,适配DevOps自动化流程。
实际落地时,静态业务重点调优缓存key、缓存TTL,提升命中率;动态业务开启全站动态加速;对外公开资源务必开启防盗链与流量封顶,防止盗刷产生高额账单;复杂定制逻辑优先使用EdgeScript并且严格遵守测试环境先行;同时开启监控告警,实时观察带宽、命中率、错误率指标。结合业务流量特征选择匹配计费模式,就可以充分发挥边缘网络价值,为各类线上业务提供稳定、高速、安全的访问体验。