发布于2026-07-29 阅读(0)
扫一扫,手机访问
通过Nginx配置防盗链,说白了就是给资源加一把锁,让别人没法随便拿走你的图片、视频或文件。下面直接上干货,从基础到高级,一步步说清楚怎么配置。
最简单的做法是只让某些域名能访问你的资源,其他域名一律拒绝。比如,你只希望自己的主站和子站能用,别人想直接引用,直接返回403。
server {
listen 80;
server_name example.com;
location /protected/ {
valid_referers none blocked server_names example.com www.example.com;
if ($invalid_referer) {
return 403;
}
# 其他配置,如代理、缓存等
}
}
如果你只想保护图片、视频这类多媒体文件,可以按文件类型来限制。比如只允许图片(jpg、png、gif)和视频(mp4、avi、mov)被特定域名引用,其他文件类型不受影响。
server {
listen 80;
server_name example.com;
location ~* .(jpg|jpeg|png|gif|mp4|avi|mov)$ {
valid_referers none blocked server_names example.com www.example.com;
if ($invalid_referer) {
return 403;
}
# 其他配置,如代理、缓存等
}
}
如果referer策略不够用,可以上更严格的签名验证。思路是:你生成一个签名,请求时带上这个签名,服务器端校验。签名不对,直接拒绝。这样就算别人伪造了referer也绕不过去。
server {
listen 80;
server_name example.com;
location /protected/ {
set $signature "";
if ($arg_signature != "") {
set $signature $arg_signature;
}
valid_referers none blocked server_names example.com www.example.com;
if ($invalid_referer) {
return 403;
}
# 验证签名
if ($signature != "your_generated_signature") {
return 403;
}
# 其他配置,如代理、缓存等
}
}
Token验证跟签名类似,但更灵活——你可以给每个用户或每次请求生成不同的Token,过期作废。配置方法和签名差不多,但注意Token的生成逻辑要足够安全,不能让人轻易猜出来。
server {
listen 80;
server_name example.com;
location /protected/ {
set $token "";
if ($arg_token != "") {
set $token $arg_token;
}
valid_referers none blocked server_names example.com www.example.com;
if ($invalid_referer) {
return 403;
}
# 验证Token
if ($token != "your_generated_token") {
return 403;
}
# 其他配置,如代理、缓存等
}
}
通过以上配置,Nginx的防盗链功能就能跑起来了,资源不会轻易被别人白嫖。记住一点:没有绝对安全的防盗链,但多一层防护,就多一分安心。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8