需求:
通常站點,都會想讓自己網站的影片和圖片,免被盜用,畢竟影片流量,花的都是白花花銀子(土豪可以不用考慮)~~.
一、單刀直入,先上nginx設定檔
server { listen 80; server_name www.test.com; root /data/web/; index index.php index.html; access_log /data/logs/nginx/biao.madacode.access.log main; location /{ root /home/data/; } error_page 404 /usr/local/nginx/html/404.html; location ~ .*\.(wma|wmv|asf|mp3|mp4|mmf|zip|rar|jpg|gif|png|swf|flv)$ { valid_referers none blocked server_names *.test.com http://ip; if ($invalid_referer) { return 403; } expires 24h; access_log off; } location ~ /\. { deny all; } }
二、防盜鏈核心設定檔解釋
location ~ .*\.(wma|wmv|asf|mp3|mp4|mmf|zip|rar|jpg|gif|png|swf|flv)$ { valid_referers none blocked server_names *.test.com http://ip; if ($invalid_referer) { return 403; } expires 24h; access_log off; }
vaild_referers 有效的引用連接,如下,否則就進入$invaild_refere,返回403 forbiden。
1、none
"referer" 來源頭部為空的情況
2、blocked
"referer"來源頭部不為空,但是裡面的值被代理或防火牆刪除了,這些值都不以http://或https://開頭.
3、server_names
"referer"來源頭包含當前的server_names(目前網域)
三、模擬案例測試
1、新增--referer 模擬引用,看結果直接403.證明上面配置是ok的
[root@test]# curl --referer http://baidu.com -i http://www.test.com/temp/t19254/20190820/video_out_out/1/0011.mp4 http/1.1 403 forbidden server: tengine date: wed, 21 aug 2019 09:54:44 gmt content-type: text/html content-length: 639 connection: keep-alive
以上是Nginx配置防盜鏈的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!