Debian缓存与CDN的协同工作机制
一、分层缓存架构与职责
二、一次请求的协同流程
三、关键配置要点
四、典型协同场景与配置建议
| 场景 | 建议 |
|---|---|
| 静态资源(JS/CSS/图片/字体) | 使用长TTL与内容哈希文件名;CDN与浏览器均可长期缓存;源站与CDN均开启压缩与协商缓存(ETag/Last-Modified)。 |
| 可缓存的动态页面(列表/文章详情) | 应用层 Redis/Memcached 先命中;源站返回 Cache-Control: public, max-age=短;CDN按路径/参数规则短时缓存,结合 Vary 处理不同视图。 |
| 个性化/隐私页面(含Cookie/登录态) | 设置 Cache-Control: private 或 no-store;CDN对该类路径不缓存或仅做短暂“穿透”以利用边缘压缩与WAF。 |
| API接口 | 对公共只读接口设 短TTL 与协商缓存;对用户私有接口禁用缓存;CDN可做压缩与速率限制,源站做鉴权与限流。 |
| 软件分发/内网CI | 使用 APT缓存 与 apt-p2p 共享已下载包,减少外网带宽与拉取时间,作为CDN之上的“最后一跳”本地加速层。 |
五、常见问题与排查