月度流量超出套餐 40%,访问日志里同一个文件被三个论坛站点引用,Referer 分别来自不同域名,单日请求 6000 多次。碰到这种情况,我一般先确认改动有没有真的生效。
原因不复杂,文件地址公开且没有防盗链,外站直接把链接贴进帖子。CDN 也没配 Referer 黑白名单,缓存命中后源站甚至看不到请求。
碰到「下载盗链」这类问题,我习惯先把当前配置原样备份一份,改坏了立刻换回来,不用现场推。改完顺手把文档补一句,省得下次自己重新推一遍。
location /downloads/ {
valid_referers server_names *.example.com;
if ( $invalid_referer ) { return 403; }
}
监控和日志的时间要对上,时区不一致会多绕很大一圈。临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。
动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。
具体做法是,在 CDN 层配置 Referer 白名单,只允许本站域名;给下载地址加短时效签名,隔天自动失效;拉一周日志按 Referer 聚合,确认外站请求降到零。
最后用这个标准收尾,外站引用链接返回 403,日志里陌生 Referer 的请求归零。
