首頁 >運維 >Nginx >Nginx配置防盜鏈的方法

Nginx配置防盜鏈的方法

PHPz
PHPz轉載
2023-05-15 13:28:111566瀏覽

需求:

通常站點,都會想讓自己網站的影片和圖片,免被盜用,畢竟影片流量,花的都是白花花銀子(土豪可以不用考慮)~~.

一、單刀直入,先上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配置防盜鏈的方法

以上是Nginx配置防盜鏈的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除