首頁 > 運維 > Nginx > 主體

Nginx配置防盜鏈的方法

PHPz
發布: 2023-05-15 13:28:11
轉載
1539 人瀏覽過

需求:

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

一、單刀直入,先上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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!