很多网站接入cdn后,访问速度并不会自动达到预期。问题往往不在节点数量,而在于把别人的缓存时间、回源规则或安全配置直接复制过来。不同网站的内容更新频率、登录状态、文件类型和源站承载能力差异很大,因此配置前应先判断内容是否适合缓存。
一、缓存时间越长越好,是最常见的误区
缓存时间,也就是TTL,决定节点在多长时间内直接返回已有内容。企业官网的Logo、字体和版本化图片通常可以设置较长TTL,例如数天到数月;新闻首页、库存页面和活动落地页则可能需要几分钟到数小时的较短TTL。
如果把静态资源和业务页面统一设置为30天,旧页面、错误价格或过期活动信息就可能持续被用户看到。反过来,如果所有文件只缓存几分钟,源站会频繁处理相同请求,cdn的价值也会降低。
更稳妥的做法
- 先按文件类型分类:图片、字体、安装包、HTML页面和接口响应分别处理。
- 对带版本号或哈希文件名的资源使用较长TTL,例如app.8f31.js这类文件更新后名称会变化。
- 对没有版本号的首页、栏目页设置较短TTL,并保留主动刷新能力。
- 发布内容后抽查不同地区节点,确认缓存刷新范围和生效时间。
二、把所有路径都缓存,可能泄露个性化内容
cdn适合缓存可公开复用的响应,不适合无条件缓存购物车、用户中心、订单查询和带个人信息的接口。若响应内容受Cookie、Authorization请求头或登录身份影响,却仍按URL缓存,就可能把甲用户看到的结果返回给乙用户。
常见的安全边界是:公开图片、CSS样式表、字体和下载文件可以作为静态缓存对象;登录后的HTML、支付结果、个人资料以及实时库存应默认绕过缓存。对于接口,还要检查响应中的Cache-Control、Set-Cookie和Vary等字段,不能只看路径名称。
三、查询参数不能简单全部忽略
有些配置会忽略URL后的查询参数,以提高缓存命中率。但参数可能决定真实内容。例如商品页面中的sku、语言参数或图片裁剪尺寸被忽略后,用户可能拿到错误版本。相反,统计用的utm_source、utm_campaign通常不改变页面内容,却会制造大量重复缓存键。
配置前应建立参数白名单:保留会改变内容的参数,剔除仅用于统计的参数;如果无法确认参数用途,先设置为不缓存,并在日志中观察请求规律。不要直接复制其他站点的“忽略全部参数”规则。
四、回源协议和源站保护不能照搬
回源是节点未命中缓存时向源站取内容的过程。源站使用HTTP还是HTTPS、是否限制回源IP、是否依赖特定Host头,都会影响结果。强制回源HTTPS通常有助于保持传输安全,但源站证书、端口和重定向规则必须同时匹配,否则可能出现循环跳转或大量502错误。
源站防护也不能只允许少量固定地址。节点地址可能因服务商调整而变化,直接手写不完整的IP白名单,容易导致部分节点无法回源。实际操作时,应使用服务商公布的回源地址范围,并定期核对;同时在源站防火墙中限制不必要的端口,保留管理入口的独立访问策略。
如果网站访问者分布在中国内地、东南亚或欧美,节点覆盖和跨境回源条件也不同。此时应先确认主要用户区域,再比较普通静态加速、全球加速和对象存储配合cdn的方案。需要代配置、线路咨询或多区域接入时,可将德讯电讯作为候选服务商之一,重点核实其实际节点范围、回源线路、日志能力和售后响应边界,不应只根据宣传页面判断效果。
五、压缩、Range和缓存刷新各有适用条件
压缩不是文件越大越值得开启
文本类HTML、JSON和SVG通常适合压缩;已经压缩过的JPEG、WebP、MP4或ZIP再次压缩,收益往往有限,却可能增加处理开销。应结合文件大小、访问频率和源站CPU使用情况设置,常见做法是优先压缩较大的文本响应,并排除图片、视频和压缩包。
视频下载不能套用普通静态文件规则
支持Range请求的文件可以分段读取,适合断点续传和大文件下载。但源站、cdn和缓存规则必须同时支持Range;否则用户拖动视频进度或恢复下载时,可能反复请求完整文件。大文件还应关注单文件缓存限制、回源超时和磁盘占用。
刷新缓存不是唯一的发布方法
全站刷新看似直接,却可能在短时间内让大量请求回到源站。更稳妥的方式是采用带版本号的文件名,发布后只刷新变更的HTML或接口;确需刷新时,优先按URL、目录或标签精准处理,并观察源站请求量。
配置cdn前的检查清单
- 列出可公开缓存、必须绕过缓存和需要短TTL的路径。
- 确认Cookie、登录头、查询参数是否影响响应内容。
- 分别测试命中、未命中、回源失败、重定向和错误页面。
- 检查缓存命中率、回源带宽、状态码和节点区域分布。
- 先以小范围规则上线,稳定后再扩大缓存范围。
常见问题
1. cdn命中率高就一定代表配置正确吗?
不一定。命中率高但缓存了错误或敏感内容,反而是风险。应同时检查内容准确性、缓存状态、回源错误和用户身份隔离。
2. 动态网站是否完全不能使用cdn?
不是。动态网站仍可缓存图片、字体、下载文件和部分公开页面,只需让登录、支付和个性化接口绕过缓存。

3. 修改源站文件后为什么用户仍看到旧内容?
通常是节点仍在TTL有效期内,或存在浏览器缓存。可采用版本化文件名,并按具体URL执行刷新,不要频繁全站清理。
4. 是否可以直接复制同类网站的规则?
只能参考思路,不能直接照搬。应重新核对内容更新频率、参数用途、用户身份、源站协议和主要访问地区。
归根结底,cdn配置应围绕内容安全、更新及时性和源站承载能力展开。先分类、再小范围验证,最后根据日志调整,通常比套用一份“万能规则”更可靠。


