king

Nginx 如何配置防盗链

king 安全防护 2022-12-09 623浏览 0

需求:通常站点,都会想让自己网站的视频和图片,免被盗用,毕竟视频流量,花的都是白花花银子(土豪可以不用考虑)~~。

Nginx 如何配置防盗链

一、单刀直入,先上nginx配置文件

server{
listen80;
server_namewww.test.com;
root/data/web/;
indexindex.phpindex.html;
access_log/data/logs/nginx/biao.madacode.access.logmain;

location/{
root/home/data/;
}

error_page404/usr/local/nginx/html/404.html;

location~.*\.(wma|wmv|asf|mp3|mp4|mmf|zip|rar|jpg|gif|png|swf|flv)$
{
valid_referersnoneblockedserver_names*.test.comhttp://IP;
if($invalid_referer){
return403;
}
expires24h;
access_logoff;

}
location~/\.
{
denyall;
}

}

二、防盗链核心配置文件解释

location~.*\.(wma|wmv|asf|mp3|mp4|mmf|zip|rar|jpg|gif|png|swf|flv)$
{
valid_referersnoneblockedserver_names*.test.comhttp://IP;
if($invalid_referer){
return403;
}
expires24h;
access_logoff;

}

vaild_referers 有效的引用连接,如下,否则就进入$invaild_refere,返回403 forbiden。

1. none

"Referer" 来源头部为空的情况

2. blocked

"Referer"来源头部不为空,但是里面的值被代理或者防火墙删除了,这些值都不以http://或者https://开头.

3. server_names

"Referer"来源头部包含当前的server_names(当前域名)

三、模拟案例测试

添加 –referer 模拟引用,看结果直接403.证明上面配置是OK的

[root@test]#curl--refererhttp://baidu.com-Ihttp://www.test.com/temp/T19254/20190820/video_out_out/1/0011.mp4
HTTP/1.1403Forbidden
Server:Tengine
Date:Wed,21Aug201909:54:44GMT
Content-Type:text/html
Content-Length:639
Connection:keep-alive

Nginx 如何配置防盗链

继续浏览有关 Linux 的文章
发表评论