|
|
51CTO旗下网站
|
|
免费注册送59元体验金端

Nginx 如何配置防盗链

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

作者:Tom-时光来源:Linux运维技术之路|2019-08-25 07:15

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

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

  1. server { 
  2.         listen       80; 
  3.         server_name  www.test.com; 
  4.   root  /data/web/; 
  5.         index index.php index.html; 
  6.         access_log  /data/logs/nginx/biao.madacode.access.log  main; 
  7.  
  8.   location /{ 
  9.     root /home/data/; 
  10.   } 
  11.  
  12.         error_page   404   /usr/local/nginx/html/404.html; 
  13.       
  14.   location ~ .*\.(wma|wmv|asf|mp3|mp4|mmf|zip|rar|jpg|gif|png|swf|flv)$ 
  15.   { 
  16.       valid_referers none blocked server_names *.test.com http://IP; 
  17.       if ($invalid_referer) { 
  18.     return 403; 
  19.       } 
  20.       expires    24h; 
  21.       access_log off; 
  22.  
  23.   } 
  24.         location ~ /\. 
  25.         { 
  26.             deny all; 
  27.         } 
  28.  

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

  1. location ~ .*\.(wma|wmv|asf|mp3|mp4|mmf|zip|rar|jpg|gif|png|swf|flv)$ 
  2.     valid_referers none blocked server_names *.test.com http://IP; 
  3.     if ($invalid_referer) { 
  4.   return 403; 
  5.     } 
  6.     expires    24h; 
  7.     access_log off; 
  8.  

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

1. none

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

2. blocked

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

3. server_names

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

三、模拟案例测试

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

  1. [root@test]# curl --referer http://baidu.com   -I http://www.test.com/temp/T19254/20190820/video_out_out/1/0011.mp4 
  2. HTTP/1.1 403 Forbidden 
  3. Server: Tengine 
  4. Date: Wed, 21 Aug 2019 09:54:44 GMT 
  5. Content-Type: text/html 
  6. Content-Length: 639 
  7. Connection: keep-alive 

【编辑推荐】

  1. 安全研究人员发现Linux版本的Winnti恶意软件
  2. 安全研究人员特别喜爱的12款Linux发行版
【责任编辑:赵宁宁 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢
24H热文
一周话题
本月获赞

订阅专栏+更多

用Python玩转excel

用Python玩转excel

让重复操作傻瓜化
共3章 | DE8UG

105人订阅学习

AI入门级算法

AI入门级算法

算法常识
共22章 | 周萝卜123

104人订阅学习

这就是5G

这就是5G

5G那些事儿
共15章 | armmay

120人订阅学习

读 书 +更多

精通SOA:基于服务总线的Struts+EJB+Web Service

Java的出现,实现了跨操作系统平台的程序开发,以Java为基础的J2EE技术已经成为因特网服务技术的主流。然而,以J2EE为基础的SOA架构技术必...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微

博聚网