実験環境
•最小限にインストールされたcentos 7.3仮想マシン
•構成: 1コア/512mb
•nginxバージョン1.12.2
1. ホットリンク Web サイトの構成
1. nginx 仮想マシンを起動し、2 つの Web サイト
vim /etc/nginx/conf .d/vhosts を構成します。 conf
次の内容を追加します
server { listen 80; server_name site1.test.com; root /var/wwwroot/site1; index index.html; location / { } } server { listen 80; server_name site2.test.com; root /var/wwwroot/site2; index index.html; location / { } }
2. ホスト マシンのドライバーなどの c:\windows\system32\ を編集します\hosts file
192.168.204.11 site1.test.com
192.168.204.11 site2.test.com
##3 .Web サイトを作成します。ルート ディレクトリ
mkdir /var/wwwroot cd /var/wwwroot mkdir site1 mkdir site2 echo -e "<h1 id="site">site1</h1><img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/887/227/168390384638564.jpg?x-oss-process=image/resize,p_40" class="lazy" src='1.jpg' alt="Nginx アンチホットリンクを構成する方法" >" >> site1/index.html echo -e "<h1 id="site">site2</h1><img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/887/227/168390384638564.jpg?x-oss-process=image/resize,p_40" class="lazy" src='http://site1.test.com/1.jpg' alt="Nginx アンチホットリンクを構成する方法" >" >> site2/index.html
4. 1.jpg を /var/wwwroot/site1 ディレクトリにアップロードします
##5. nginx サービスを開始します systemctl restart nginx
netstat -anpt | grep nginx
setenforce 0
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
##2. ホットリンクを防ぐために site1.test.com を設定します
1 . nginx 設定ファイルを編集します
server { listen 80; server_name site1.test.com; root /var/wwwroot/site1; index index.html; location / { } location ~ \.(jpg|png|gif|jpeg)$ { valid_referers site1.test.com; if ($invalid_referer) { return 403; } } } server { listen 80; server_name site2.test.com; root /var/wwwroot/site2; index index.html; location / { } }
2. nginx サービスを再起動します
systemctl restart nginx
3. ホスト マシンで、
にアクセスしてブラウザーのキャッシュをクリアし、
## にアクセスします。 # ブラウザのキャッシュをクリアするには、1. nginx 設定ファイルを編集
仮想ホストを追加し、アンチホットリンクで保護されたリソースを書き換えますserver {
listen 80;
server_name site1.test.com;
root /var/wwwroot/site1;
index index.html;
location / {
}
location ~ \.(jpg|png|gif|jpeg)$ {
valid_referers site1.test.com;
if ($invalid_referer) {
rewrite ^/ http://site3.test.com/notfound.jpg;
#return 403;
}
}
}
server {
listen 80;
server_name site2.test.com;
root /var/wwwroot/site2;
index index.html;
location / {
}
}
server {
listen 80;
server_name site3.test.com;
root /var/wwwroot/site3;
index index.html;
location / {
}
}
説明
location ~ \ .(jpg|png|gif|jpeg)$ {} は、ホットリンク防止を設定するファイルの種類であり、縦線 | で区切られています。
valid_referers site1.test.com *.nginx.org; はスペースで区切られたホワイトリストで、* は汎ドメイン名の設定に使用できます。if ($invalid_referer) {} は、ホワイトリストに一致するかどうかを判断するために使用されます。ホワイトリストに一致しない場合は、{} の内容が実行されます。
rewrite ^/ ; は書き換えリソースです。ホワイトリストに適合しない場合は、このアドレスに書き換えられます。return 403; 返されるステータス コードが 403 であることを意味します。
2. site3 ルート ディレクトリを作成します
cd /var/wwwroot mkdir site3 echo -e "<h1 id="site">site3</h1><img src='notfound.jpg' alt="Nginx アンチホットリンクを構成する方法" >" >> site3/index.html
3. notfound.jpg ファイルを /var/wwwroot/site3 ディレクトリにアップロードします
4. nginx サービスを再起動します
systemctl restart nginx
5. c:\windows\system32\ を編集しますホスト マシン上の drivers\etc\hosts ファイル
site3.test.com
192.168.204.11 site1.test.com192.168.204.11 にマッピングを追加します。 site2.test .com
192.168.204.11 site3.test.com
6. ホスト マシンの
にアクセスすると、site1 が表示されます。サイト 2 で盗まれました 1.jpg ファイルはサイト 3
の notfound.jpg ファイルにリダイレクトされました
以上がNginx アンチホットリンクを構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

NginxとApacheの主なアーキテクチャの違いは、Nginxがイベント駆動型の非同期非ブロッキングモデルを採用し、Apacheはプロセスまたはスレッドモデルを使用することです。 1)nginxは、静的な内容と逆プロキシに適したイベントループとI/O多重化メカニズムを介して、高電流接続を効率的に処理します。 2)Apacheは、非常に安定しているがリソース消費量が高いマルチプロセスまたはマルチスレッドモデルを採用しており、リッチモジュールの拡張が必要なシナリオに適しています。

Nginxは、高い同時コンテンツと静的コンテンツの処理に適していますが、Apacheは複雑な構成と動的コンテンツに適しています。 1。NGINXは、交通量の多いシナリオに適した同時接続を効率的に処理しますが、動的コンテンツを処理するときは追加の構成が必要です。 2。Apacheは、複雑なニーズに適したリッチモジュールと柔軟な構成を提供しますが、並行性のパフォーマンスが低いです。

NginxとApacheにはそれぞれ独自の利点と欠点があり、選択は特定のニーズに基づいている必要があります。 1.Nginxは、非同期の非ブロッキングアーキテクチャのため、高い並行性シナリオに適しています。 2。Apacheは、モジュラー設計のため、複雑な構成を必要とする低変動シナリオに適しています。

Nginxunitは、複数のプログラミング言語をサポートし、動的構成、ゼロダウンタイム更新、組み込みのロードバランシングなどの機能を提供するオープンソースアプリケーションサーバーです。 1。動的構成:再起動せずに構成を変更できます。 2。多言語サポート:Python、Go、Java、PHPなどと互換性があります。 4。ビルトインロードバランシング:リクエストは、複数のアプリケーションインスタンスに配布できます。

nginxunitは、多言語プロジェクトや動的な構成要件に適した、apachetomcat、gunicorn、node.jsビルトインHTTPサーバーよりも優れています。 1)複数のプログラミング言語をサポートします。2)動的な構成リロード、3)高いスケーラビリティと信頼性を必要とするプロジェクトに適した組み込みの負荷分散機能を提供します。

Nginxunitは、モジュラーアーキテクチャと動的な再構成機能により、アプリケーションのパフォーマンスと管理性を向上させます。 1)モジュラー設計には、マスタープロセス、ルーター、アプリケーションプロセスが含まれ、効率的な管理と拡張をサポートします。 2)動的再構成により、CI/CD環境に適した、実行時に構成をシームレスに更新できます。 3)多言語サポートは、言語ランタイムの動的なロードを通じて実装され、開発の柔軟性が向上します。 4)イベント駆動型モデルと非同期I/Oによって高性能が達成され、高い並行性の下でも効率的なままです。 5)申請プロセスを分離し、アプリケーション間の相互の影響を減らすことにより、セキュリティが改善されます。

nginxunitを使用して、アプリケーションを複数の言語で展開および管理できます。 1)nginxunitをインストールします。 2)PythonやPHPなどのさまざまなタイプのアプリケーションを実行するように構成します。 3)アプリケーション管理に動的構成関数を使用します。これらの手順を通じて、アプリケーションを効率的に展開および管理し、プロジェクトの効率を向上させることができます。

NGINXは、高い並行接続の処理に適していますが、Apacheは複雑な構成とモジュール拡張が必要なシナリオにより適しています。 1.Nginxは、高性能と低リソース消費で知られており、高い並行性に適しています。 2. Apacheは、その安定性とリッチモジュール拡張機能で知られています。これは、複雑な構成ニーズに適しています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

Dreamweaver Mac版
ビジュアル Web 開発ツール

WebStorm Mac版
便利なJavaScript開発ツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ホットトピック









