実験環境 • 最小限のインストール済みの CentOS 7.3 仮想マシン 1. ホットリンクウェブサイトを設定する 1. nginx仮想マシンを起動し、2つのWebサイトを構成する
次のコンテンツを追加します サーバー{ 聞く 80; サーバー名 site1.test.com; ルート /var/wwwroot/site1; インデックス index.html; 位置 / { } } サーバー{ 聞く 80; サーバー名 site2.test.com; ルート /var/wwwroot/site2; インデックス index.html; 位置 / { } } 2. ホストマシンのC:\Windows\System32\drivers\etc\hostsファイルを編集します。
3. ウェブサイトのルートディレクトリを作成する mkdir /var/wwwroot /var/wwwroot に移動します mkdir サイト1 mkdir サイト2 echo -e "<h1>site1</h1><img src='1.jpg'>" >> site1/index.html echo -e "<h1>site2</h1><img src='http://site1.test.com/1.jpg'>" >> site2/index.html 4. 1.jpgを/var/wwwroot/site1ディレクトリにアップロードします。 5. nginxサービスを開始する systemctl nginx を再起動します netstat -anpt | grep nginx 6. ファイアウォールのポート80を開く 強制0を設定する ファイアウォールコマンド --zone=public --add-port=80/tcp --permanent ファイアウォール-cmd --reload 7. ホストマシンへのアクセス このサイトについて http://site2.test.com 2. site1.test.comのアンチホットリンクを設定する 1. nginx設定ファイルを編集する サーバー{ 聞く 80; サーバー名 site1.test.com; ルート /var/wwwroot/site1; インデックス index.html; 位置 / { } 場所 ~ \.(jpg|png|gif|jpeg)$ { 有効なリファラー site1.test.com; ($invalid_referer) の場合 { 403 を返します。 } } } サーバー{ 聞く 80; サーバー名 site2.test.com; ルート /var/wwwroot/site2; インデックス index.html; 位置 / { } } 2. nginxサービスを再起動する
3. ホストマシンへのアクセス ブラウザのキャッシュをクリアして、http://site1.test.com にアクセスします。 ブラウザのキャッシュをクリアして、http://site2.test.com にアクセスしてください。 アンチホットリンク設定が役割を果たしていることがわかります 3. 他のリソースを返すようにアンチホットリンクを設定する 1. nginx設定ファイルを編集する アンチホットリンクで保護されたリソースを書き換えるための仮想ホストを追加する サーバー{ 聞く 80; サーバー名 site1.test.com; ルート /var/wwwroot/site1; インデックス index.html; 位置 / { } 場所 ~ \.(jpg|png|gif|jpeg)$ { 有効なリファラー site1.test.com; ($invalid_referer) の場合 { 書き換え^/ http://site3.test.com/notfound.jpg; #403 を返します。 } } } サーバー{ 聞く 80; サーバー名 site2.test.com; ルート /var/wwwroot/site2; インデックス index.html; 位置 / { } } サーバー{ 聞く 80; サーバー名 site3.test.com; ルート /var/wwwroot/site3; インデックス index.html; 位置 / { } } 説明する location ~ \.(jpg|png|gif|jpeg)$ {} は、アンチホットリンクを設定するファイルの種類で、縦線 | で区切られます。 2. site3ルートディレクトリを作成する /var/wwwroot に移動します mkdir サイト3 echo -e "<h1>site3</h1><img src='notfound.jpg'>" >> site3/index.html 3. notfound.jpgファイルを/var/wwwroot/site3ディレクトリにアップロードします。 4. nginxサービスを再起動する
5. ホストマシン上のC:\Windows\System32\drivers\etc\hostsファイルを編集します。 site3.test.com のマッピングを追加する
6.ホストマシンでhttp://site2.test.comにアクセスします。 ご覧のとおり、site2 で盗まれた site1 の 1.jpg ファイルは、site3 の notfound.jpg ファイルにリダイレクトされます。 要約する 以上が、私が紹介したNginxのアンチホットリンクを設定する操作方法です。お役に立てれば幸いです。ご質問があれば、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: VueのSSRサーバーサイドレンダリング例の詳細な説明
>>: 大量のデータをMySQLにインポートする際に発生する問題と解決策の分析
今日は、Jenkins + powershell スクリプトを使用して、.NET CORE スクリプ...
プロパティやイベントがあるにもかかわらず、JavaScript で子コンポーネントに直接アクセスする...
ファイルをディレクトリに解凍しますこれは解凍後のディレクトリですmy.iniファイルを入力しますダブ...
目次リスナープロパティとは何ですか?リスニングプロパティと計算プロパティの違いは何ですか?監視プロパ...
トリガー メソッドを使用できます。JavaScript にはネイティブのトリガー関数はありません。自...
secure_file_priv = ' ';管理者としてcmdを実行します。 my...
許可ベースの電子メール マーケティングにより、マーケティングとプロモーションのコストを大幅に削減でき...
p>「サービス」で手動で起動すると、 コンソールから起動します: 次に、...\MySQL S...
MySQL の運用と保守において、R&D の同僚が 2 つの異なるインスタンスのデータを比較...
3つのモードブリッジ(ブリッジ モード)、NAT(ネットワーク アドレス変換モード)、ホストオンリー...
以下は、HTML で正規表現を使用してテーブルをチェックするサンプル コードです。具体的なコードの内...
1. MySQL の権限の概要MySQL には、権限を制御する 4 つのテーブルがあります。user...
企業が Docker 自動デプロイメントを構築する場合、Docker の実行時にコンテナ内の設定ファ...
1. Zabbixバックアップ [root@iZ2zeapnvuohe8p14289u6Z /]# ...
目次背景説明GETリクエストの作成事前リクエストスクリプトで署名を作成するスクリプトは環境変数に書き...