Nginx でアンチホットリンクを設定するための手順を完了する

Nginx でアンチホットリンクを設定するための手順を完了する

必要:

通常、サイト側は、ウェブサイト上の動画や写真が盗まれるのを防ぎたいと考えています。結局のところ、動画のトラフィックには多額の費用がかかります(お金持ちはこれを考慮する必要がありません)。

1. 早速ですが、まずnginxの設定ファイルをアップロードします

サーバー{
聞く 80;
サーバー名 www.test.com;
ルート /data/web/;
インデックス index.php index.html;
access_log /data/logs/nginx/biao.madacode.access.log メイン;

位置 /{
ルート /home/data/;
}

エラーページ 404 /usr/local/nginx/html/404.html;

場所 ~ .*\.(wma|wmv|asf|mp3|mp4|mmf|zip|rar|jpg|gif|png|swf|flv)$
{
valid_referers なし ブロックされた server_names *.test.com http://IP;
($invalid_referer) の場合 {
403 を返します。
}
24時間で期限切れになります。
access_log オフ;

}
場所 ~ /\。
{
すべてを否定する;
}

}

2. アンチホットリンクのコア設定ファイルの解釈

場所 ~ .*\.(wma|wmv|asf|mp3|mp4|mmf|zip|rar|jpg|gif|png|swf|flv)$
{
valid_referers なし ブロックされた server_names *.test.com http://IP;
($invalid_referer) の場合 {
403 を返します。
}
24時間で期限切れになります。
access_log オフ;

}

vaild_referers 有効な参照リンクは次のとおりです。それ以外の場合は $invaild_refere を入力し、403 forbidden を返します。

1. なし

「Referer」ソース ヘッダーが空です

2. ブロックされた

「Referer」ソース ヘッダーは空ではありませんが、プロキシまたはファイアウォールによって値が削除され、いずれの値も http:// または https:// で始まっていません。

3. サーバー名

「Referer」ソース ヘッダーには、現在の 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 禁止
サーバー: Tengine
日付: 2019年8月21日水曜日 09:54:44 GMT
コンテンツタイプ: text/html
コンテンツの長さ: 639
接続: キープアライブ


要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • Linux での Nginx アンチホットリンクと最適化の実装コード
  • Nginx でホットリンクを防ぐ 3 つの方法
  • Nginx アンチホットリンク設定方法
  • Nginx サーバーでのホットリンク防止方法の紹介
  • Nginx イメージホットリンク保護設定例
  • Nginx のアンチホットリンクを設定する方法
  • Nginxのアンチホットリンクとサービス最適化設定の全プロセス

<<:  CentOS 7 での mysql 5.7 のインストール チュートリアル

>>:  シンプルなカレンダー効果を実現する js

推薦する

Hadoop 3.2.0 クラスターの構築に関する一般的な考慮事項

1つのポートの変更バージョン 3.2.0 では、ネームノード ページ ポートは 9870、データノー...

ウェブページのドロップダウンリストとdivレイヤーのカバーの問題を選択する

HTML の select 要素に関する質問は、さまざまな場所で提起されています。最近のプロジェクト...

Dockerは終了状態で起動します

docker run後、ステータスは常にExitedになります解決:パラメータを追加: -it do...

Docker で onlyoffice をインストールして展開する詳細なプロセス

0. システム要件CPU I5-10400F以上メモリ 16 GB、32 GBのメモリが最適ハードド...

Linux システムで tcpdump を使用してパケットをキャプチャする方法

まずサンプルコードを見てみましょう: 1. 共通パラメータ tcpdump -i eth0 -nn ...

nginx 設定の場所の概要の場所の通常の書き込みと書き換えルールの書き込み

1. 場所の正規表現例を見てみましょう: 場所 = / { # 完全一致 / 、ホスト名の後に文字列...

Tomcatのクラスロードメカニズムを説明する記事

目次- 序文 - - JVM クラスローダー - 1. JVMクラスローダー2. クラスローダーのソ...

Ubuntu 16.04 で FTP サーバーを構築するチュートリアル

Ubuntu 16.04 FTP サーバーをビルドするftpをインストールするftp をインストール...

jsは古典的なマインスイーパゲームを実装します

この記事の例では、古典的なマインスイーパゲームを実装するためのjsの具体的なコードを参考までに共有し...

MySQL における in と exists の使い方と違いの紹介

まずコードを書いて (int i=0;i<1000;i++){ (int j=0;j<5...

JavaScript クリップボードの使用法の詳細な説明

(1)はじめに: clipboard.js は、テキストをクリップボードにコピーする機能を実装する軽...

nginx のインストールが完了した後に PHP を解析できない問題の解決方法

目次方法1方法2 nginxをインストールした後、PHPコードを解析できないことがわかりました。解決...

LinuxサーバーでRabbitMQ管理ページにアクセスできない問題を解決

私のプロジェクトの特定の機能ではサーバーが rabbitmq にメッセージを送信する必要があるため、...

ネイティブWeChatアプレット開発におけるreduxの使用の詳細な説明

前提複雑なシナリオでは、複数の異なるページ間で大量のデータを使用したり変更したりする必要があります。...

JS でタブ効果を書く

この記事の例では、タブ効果を記述するためのJSの具体的なコードを参考までに共有しています。具体的な内...