CDN边缘规则配置实战 – 自定义缓存、重定向和URL改写
评测概述
大多数cdn用户只用了基础的缓存功能,其实CDN边缘规则可以做更多事情:自定义缓存策略、URL重定向、请求头改写、移动端适配等。
本文介绍CDN边缘规则的常见应用场景和配置方法。
一、什么是CDN边缘规则?
边缘规则是在CDN节点上执行的一系列条件判断和操作。当请求到达CDN节点时,CDN会根据你设定的规则对请求进行处理,然后再决定是返回缓存、回源还是做其他操作。
常见的边缘规则能力包括:
- 根据URL路径或文件类型设置不同的缓存时间
- 根据User‑Agent将移动端请求跳转到移动版页面
- 根据国家或地区返回不同的内容
- 修改HTTP请求头或响应头
- URL重写(rewrite)和重定向(redirect)
二、场景1:不同目录设置不同缓存时间
网站的不同目录更新频率不同。/static/下的图片和CSS可能一个月才更新一次,而/products/下的商品页面每天都会变化。
配置示例(以Cloudflare规则为例):
- 规则1:URL路径包含 /static/ → 缓存时间30天
- 规则2:URL路径包含 /products/ → 缓存时间1小时
- 规则3:URL路径包含 /admin/ → 不缓存
通过区分目录设置不同的缓存策略,可以在保证用户看到最新内容的同时,最大化缓存命中率。
三、场景2:移动端自动跳转
如果你的网站有独立的移动版(如 m.example.com),可以通过边缘规则自动检测设备类型并跳转。
配置逻辑:
- 判断User‑Agent是否来自手机或平板
- 如果用户访问的是桌面版URL(example.com),自动重定向到移动版(m.example.com)
- 可以添加例外规则,允许用户点击“查看桌面版”
这样可以避免在网站代码中做设备检测,减轻源站负担。
四、场景3:URL重写隐藏真实路径
通过URL重写,可以将复杂的动态URL转换为用户友好的静态URL。例如:
原始URL:/product.php?id=12345
显示URL:/product/12345
配置URL重写后,用户看到的地址更简洁,同时源站不需要修改代码。常用于优化SEO和提升用户体验。
与301重定向不同,URL重写是内部转发,浏览器地址栏不会变化,且不影响搜索引擎收录。
五、各CDN的边缘规则支持情况
| CDN | 规则数量 | 是否支持条件逻辑 |
|---|---|---|
| Cloudflare(免费版) | 3条页面规则 | 基础条件匹配 |
| Cloudflare(Pro) | 20条 | 复杂条件(含正则) |
| 又拍云 | 按套餐不同 | 支持条件匹配 |
| 阿里云CDN | 可配置多个 | 支持条件规则 |
| 腾讯云EdgeOne(免费版) | 有限条数 | 支持基础条件 |
免费版通常规则数量有限,建议优先配置最关键的缓存规则。
六、注意事项
- 边缘规则按顺序执行,注意规则之间的优先级关系
- 规则数量有限(免费版通常3‑10条),优先配置核心规则
- 修改规则后需要等待CDN节点同步(通常几分钟)
- 复杂的正则表达式可能影响CDN性能,保持规则简洁
通过合理配置边缘规则,可以在不修改源站代码的情况下,实现缓存优化、流量调度和用户体验提升。


