日期:2026-07-12
标签:#面试 #八股 #后端 #CDN #安全 #线上问题排查
一句话答案
先区分真实发布流量、缓存未命中和盗链/恶意下载,再从 URL、Referer、IP/ASN、区域、Range 请求、命中率和回源流量定位,随后做鉴权、防盗链、限速、缓存修复和成本保护。
面试口语版
我先看异常从何时开始,是否对应新版本发布或客户端重试 Bug;按 URL、状态码、区域、IP/ASN、User-Agent、Referer 和 Range 分组,比较 CDN 命中率与源站回源。如果少量 IP 高频下载可能是刷流量,外站引用可能是盗链;文件 URL 带随机参数或缓存头错误会导致缓存碎片,Range 配置异常也可能反复下载。应急可开启 WAF/Bot 管理、IP/账号/签名 URL 限制、单连接与带宽限速,封禁异常来源并设置预算告警。根治使用稳定版本 URL、长缓存、Origin Shield、下载令牌和客户端断点续传校验。
关键细节
- 安装包发布前多区域预热,避免源站回源洪峰。
- 签名 URL 需过期、路径绑定和防重放策略。
- Referer 可伪造,只能作为一层信号。
- 不能误封企业 NAT 或真实发布流量,策略需灰度。
面试官追问
- CDN 命中率突然下降可能是什么原因?
- 如何防止签名下载链接被分享?
- Range 请求为什么可能导致流量异常?
面试官追问参考答案
1. CDN 命中率突然下降可能是什么原因?
缓存规则或 Cache-Control 变更、URL 增加随机查询参数、频繁刷新缓存、节点首次访问、对象过期或 CDN 未缓存某些状态/Range。比较 cache key 和响应头,确认相同文件是否被拆成大量不同缓存对象。
2. 如何防止签名下载链接被分享?
使用短时效、绑定文件和用户/会话的签名,可限制下载次数或首次使用后绑定设备/IP 风险信号。IP 绑定会误伤移动网络,应权衡;高价值下载可由鉴权边缘函数实时校验。
3. Range 请求为什么可能导致流量异常?
客户端或攻击者可反复请求重叠分片,若 CDN 对 Range 缓存/回源处理不当,会导致每个小请求都回源读取大对象。应限制异常并发 Range、合并请求,并验证 CDN 的分片缓存策略。
学习清单
- 会联合分析 CDN 访问、命中与回源指标。
- 理解防盗链、签名 URL 和缓存键。