実験環境 • 最小限のインストール済みの 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にインポートする際に発生する問題と解決策の分析
現在、アプリケーション開発は基本的にフロントエンドとバックエンドに分離されています。主流のフロントエ...
選択して変更: クリックすると現在の値が表示され、ページ UI が表示され、CSS スタイルが変更さ...
1. 目的:コードの保守が容易になり、さまざまなデータの分類が明確になります。 2. store/i...
目次1要素オフセットシリーズ1.1 オフセットの概要1.2 オフセットとスタイルの違い視覚領域クライ...
B ツリーは一般的なデータ構造です。彼と一緒にB+ツリーがあります。ここで、概念を明確にする必要があ...
場合によっては、ユーザーがボタンをクリックして同様のフォームを追加し、クリックごとに 1 回追加でき...
導入振り返ってみると、4年前、私がMySQLのインデックスについて学んでいたとき、先生はインデックス...
DockerでRedisをデプロイするまずLinuxにDockerをインストールし、次にDocker...
UNIONの使用ほとんどの SQL クエリは、1 つ以上のテーブルからデータを返す単一の SELEC...
この記事ではVueを使ってプログレスバーの変更を簡単に実装してみましたので参考にしてください。具体的...
この古くからある疑問は、数え切れないほどのフロントエンド開発者やバックエンドプログラマーを悩ませてき...
目次シナリオ要件glibc バージョンglibcのインストールglibc ソフトリンクシナリオ要件C...
2日前に新しい会社に入社しました。その会社ではIntelli Ideaを使っています。Eclipse...
公式サイトからMySQL-5.7.11-winx64の圧縮版をダウンロード。インストール後、パスワー...
証明書チェーンを生成するスクリプトを使用して、ルート証明書、中間証明書、および 3 つのクライアント...