Nginx は、高性能 Web サーバーおよびリバース プロキシ サーバーとして、Web サイト設計者に広く支持されています。ただし、Nginx を使用する場合、特に URL を処理する場合には、セキュリティの問題にも注意する必要があります。
Nginx の柔軟性により、URL セキュリティ戦略を採用しないと、次の攻撃を受ける可能性があります:
- SQL インジェクション
- XSS攻撃
- 不正なファイルダウンロード ##CSRF攻撃
- ##不正なアクセス要求など
- #この記事ではNginx URLの書き方ガイドを紹介します。セキュリティポリシー。
正規表現
- Nginx の設定ファイル構文
- HTTP プロトコルの基本知識
- 2. 入力フィルタリング
if ($http_user_agent ~* "some evil expression") { return 403; }または、次のように、入力フィルタリングに Nginx の組み込みファイアウォール モジュールを使用します:
# block ip sends more than 100 requests per 5 seconds limit_conn_zone $binary_remote_addr zone=one:10m; limit_req_zone $binary_remote_addr zone=two:10m rate=1r/s; server { location / { limit_conn one 10; limit_req zone=two burst=5 nodelay; } }この例
まず、ステータス情報を保存できるメモリ領域である 2 つのゾーンを定義します。 (これは、アクセスが多い場合、この保護のコストが比較的高くなる可能性があることも意味します)
- 同じ IP アドレスが 5 秒以内に 100 を超える HTTP リクエストを送信した場合は、ブロックします。
- 同じ IP アドレスが 1 秒以内に 5 件を超える HTTP リクエストを送信すると、ブロックされます。
- 3. SQL インジェクションを回避する
location ~* (.php|.asp|.ashx)/?$ { if ($args ~* "select.*from") { return 403; } }この例では、Nginx の組み込み if モジュールを使用して、攻撃者が select ステートメントを使用してデータベースからデータを取得するのを防ぎます。 403 アクセスが禁止されています。 4. XSS 攻撃の防止XSS 攻撃に対しては、入力検出を強化できます。 XSS 攻撃の可能性が検出された場合、接続は安全な URL にリダイレクトされるか、エラー メッセージが返されます。
if ($args ~* "<script.*>") { return 403; }この例では、Nginx の組み込み if モジュールを使用して、URL にネストされたスクリプト タグを持つコンテンツがあるかどうかを検出します。 5. CSRF 攻撃を防ぐNginx を使用する場合、CSRF 攻撃を防ぐために、外部サイトからのリクエストを禁止する必要があります。たとえば、次の構成を追加できます:
location / { if ($http_referer !~ "^https?://$host/") { return 403; } }この例では、Nginx の組み込み if モジュールを使用して、$host サイトからのリクエストのみを受信するように制限します。他のサイトからのリクエストがある場合、Nginx は403. 6. ファイル ダウンロードの脆弱性を防ぐプライベート ドキュメント、スクリプト、設定ファイルなどの不適切なファイルへのアクセスを防ぐために、次の戦略を使用してください:
location ~* .(xls|doc|pdf)$ { valid_referers none blocked server_names; if ($invalid_referer) { return 401; } }この例 Nginx の組み込み valid_referers モジュールを使用すると、リクエストが無許可のサイトからのものであることが判明すると、401 が返されます。 7. 一部の URL へのアクセスを禁止する実際のプロジェクトでは、admin.php、login.php などの一部の URL が攻撃者に使用される可能性があります。彼らのアクセスを禁止するだけで済みます。
location ~ /(admin|login).php { deny all; }この例の設定では、admin.php および login.php で終わる URL へのアクセスが禁止されています。 8. 完全な例最後に、上記の構成に基づいて、次の完全な例を取得できます:
server { listen 80; server_name yourdomain.com; # 设置过滤规则 location / { # 禁止非法请求 limit_conn_zone $binary_remote_addr zone=one:10m; limit_req_zone $binary_remote_addr zone=two:10m rate=1r/s; limit_conn one 10; limit_req zone=two burst=5 nodelay; # 防止XSS攻击 if ($args ~* "<script.*>") { return 403; } # 防止SQL注入 if ($args ~* "select.*from") { return 403; } # 禁止admin和login的访问 location ~ /(admin|login).php { deny all; } } # 防止文件下载漏洞 location ~* .(xls|doc|pdf)$ { valid_referers none blocked server_names; if ($invalid_referer) { return 401; } } }上記は、Nginx URL セキュリティ ポリシーを作成するためのガイドです。 。これが Nginx 構成に何らかの助けとなり、システムのセキュリティを向上させることができれば幸いです。
以上がNginx URL セキュリティ ポリシー作成ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Nginxは、高い並行リクエストの処理に適していますが、Apacheは複雑な構成と機能的拡張が必要なシナリオに適しています。 1.Nginxは、イベント駆動型の非ブロッキングアーキテクチャを採用しており、高電流環境に適しています。 2。Apacheはプロセスまたはスレッドモデルを採用して、複雑な構成のニーズに適したリッチモジュールエコシステムを提供します。

Nginxは、Webサイトのパフォーマンス、セキュリティ、およびスケーラビリティを改善するために使用できます。 1)逆プロキシおよびロードバランサーとして、Nginxはバックエンドサービスを最適化し、トラフィックを共有できます。 2)イベント駆動型および非同期アーキテクチャを通じて、nginxは高い並行接続を効率的に処理します。 3)構成ファイルでは、静的ファイルサービスやロードバランシングなどのルールの柔軟な定義を可能にします。 4)最適化の提案には、GZIP圧縮の有効化、キャッシュの使用、およびワーカープロセスの調整が含まれます。

Nginxunitは複数のプログラミング言語をサポートし、モジュラー設計を通じて実装されています。 1。言語モジュールの読み込み:構成ファイルに従って対応するモジュールをロードします。 2。アプリケーションの起動:呼び出し言語が実行されたときにアプリケーションコードを実行します。 3。リクエスト処理:リクエストをアプリケーションインスタンスに転送します。 4。応答返品:処理された応答をクライアントに返します。

NginxとApacheには独自の利点と短所があり、さまざまなシナリオに適しています。 1.Nginxは、高い並行性と低リソース消費シナリオに適しています。 2。Apacheは、複雑な構成とリッチモジュールが必要なシナリオに適しています。コア機能、パフォーマンスの違い、ベストプラクティスを比較することで、ニーズに最適なサーバーソフトウェアを選択するのに役立ちます。

質問:nginxを開始する方法は?回答:nginxスタートアップnginx検証nginxはnginxを開始しました他のスタートアップオプションを自動的に開始

nginxが開始されるかどうかを確認する方法:1。コマンドラインを使用します:SystemCTLステータスnginx(Linux/unix)、netstat -ano | FindStr 80(Windows); 2。ポート80が開いているかどうかを確認します。 3.システムログのnginx起動メッセージを確認します。 4. Nagios、Zabbix、Icingaなどのサードパーティツールを使用します。

NGINXサービスをシャットダウンするには、次の手順に従ってください。インストールタイプを決定します:Red Hat/Centos(SystemCtl Status Nginx)またはDebian/Ubuntu(Service Nginx Status)サービスを停止します:Red Hat/Centos(SystemCtl Stop Nginx)またはDebian/Ubuntu(Service Nginx Stop)無効自動起動(オプション):Debuntos/Centos/Centos/Centos/Centos/Centos (syst

Windowsでnginxを構成する方法は? nginxをインストールし、仮想ホスト構成を作成します。メイン構成ファイルを変更し、仮想ホスト構成を含めます。 nginxを起動またはリロードします。構成をテストし、Webサイトを表示します。 SSLを選択的に有効にし、SSL証明書を構成します。ファイアウォールを選択的に設定して、ポート80および443のトラフィックを許可します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

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

SublimeText3 中国語版
中国語版、とても使いやすい

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール
