要件:
通常、サイトは Web サイト上のビデオや画像が盗まれないようにしたいと考えています。結局のところ、ビデオ トラフィックには無駄なコストがかかります (裕福な人にはその必要はありません)。 ))~~.
1. 早速本題に入りますが、まず 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; } }
2.アンチホットリンク コア設定ファイル
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 禁止が返されます。
1. none
"referer" ソース ヘッダーは空です
2.blocked
"referer" ソース ヘッダーは空ではありません。ただし、値は内部はプロキシまたはファイアウォールによって削除されました。これらの値は http:// または https://.
3 で始まっていません。server_names
「リファラー」ソース ヘッダー現在の server_names (現在のドメイン名) が含まれます
3. シミュレーション ケース テスト
1. --referer シミュレーション リファレンスを追加し、403 の結果を直接確認します。上記の設定は問題ありません
[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 中国語 Web サイトの他の関連記事を参照してください。