




















防盗链(Hotlink Protection)是一种防止其他网站直接链接到您服务器上的资源(如图片、视频、文件等)的技术手段。当其他网站未经许可直接引用您的资源时,会消耗您的服务器带宽和资源。
location ~* \.(jpg|jpeg|png|gif|webp|mp4|flv|pdf)$ {
valid_referers none blocked server_names *.example.com example.com;
if ($invalid_referer) {
return 403;
# 或者可以重定向到一个提示图片
# rewrite ^ /anti-hotlink.jpg;
}
}
location ~* \.(jpg|jpeg|png|gif|webp|mp4|flv|pdf)$ 匹配常见的静态文件扩展名
valid_referers 定义合法的引用来源:
none:直接访问(无Referer)
blocked:Referer存在但被防火墙或代理删除
server_names:允许的域名列表
$invalid_referer 变量会在Referer不合法时为1
valid_referers none blocked server_names *.example.com example.com;
valid_referers server_names example.com sub.example.com;
valid_referers ~\.example\.com$ ~\.mydomain\.com$;
if ($invalid_referer) {
rewrite ^ /path/to/your/anti-hotlink.png break;
}
检查nginx配置语法:
nginx -t
重载nginx配置:
nginx -s reload
使用curl测试:
curl -I -H "Referer: http://invalid.com" http://yoursite.com/image.jpg
防盗链可能会影响搜索引擎的图片索引
移动应用或某些特殊场景可能需要额外处理
CDN服务可能需要单独配置
配置变更后务必测试各种访问场景
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。