Nginx は悪意のある攻撃を防ぐためにアクセス頻度の設定を制限します
Nginx は悪意のある攻撃を防ぐためにアクセス頻度の設定を制限します
インターネットの発展に伴い、Web サイトのセキュリティが重要な問題になっています。悪意のある攻撃を防ぐためには、アクセス頻度を制限する必要があります。高性能 Web サーバーとして、Nginx は構成を通じてこの目標を達成できます。
Nginx には、アクセス頻度を制限できるlimit_req_module というモジュールが用意されています。構成する前に、モジュールが有効になっていることを確認する必要があります。 nginx.conf ファイルで、http ノードを見つけて、次のコードを追加します。
http { ... limit_req_zone $binary_remote_addr zone=myzone:10m rate=5r/s; ... }
上記のコードでは、limit_req_zone を使用して、各 IP アドレスへのアクセス数を記録するメモリ領域を定義します。 . . $binary_remote_addr は、クライアントの IP アドレスを表す Nginx 変数です。 zone=myzone はゾーンの名前であり、カスタマイズできます。 10m は、領域のサイズが 10 メガバイトであることを意味します。 rate=5r/s は、1 秒あたり最大 5 つのリクエストが許可されることを意味します。
次に、この制限を特定の場所の構成に適用できます。たとえば、インターフェイスを制限したい場合、コードは次のとおりです。
location /api/ { ... limit_req zone=myzone burst=10 nodelay; ... }
上記のコードでは、limit_req 命令を使用してリクエスト頻度制限モジュールを有効にし、以前に定義したゾーン名 myzone を指定します。 burst=10 は、制限頻度を超えた後、最大 10 個のリクエストが遅延されることを意味します。 Nodelay は、周波数制限を超えた場合に遅延はなく、503 エラーが直接返されることを意味します。
上記の設定方法に加えて、指定期間を制限することもできます。たとえば、作業時間内のみに制限したい場合、コードは次のとおりです。
location /api/ { ... limit_req zone=myzone burst=10 nodelay; limit_req_status 403; limit_req_log_level error; limit_req_time 8h; ... }
上記のコードでは、limit_req_time を使用して制限時間を指定します。ここでは 8 時間に制限します。 。 limit_req_status や limit_req_log_level などの他の命令は、頻度制限を超えた場合の戻りステータス コードとログ レベルを構成するために使用されます。
上記の構成は、単一のインターフェイスのアクセス頻度のみを制限することに注意してください。 Web サイト全体を制限したい場合は、サーバー ノードで設定できます。コードは次のとおりです。
server { ... limit_req zone=myzone burst=10 nodelay; ... }
上記の構成により、Web サイトに対する悪意のある攻撃の影響を効果的に制限できます。ただし、周波数制限の粒度は特定のビジネス ニーズによって決定する必要があり、厳しすぎないように注意してください。厳しすぎると、通常のユーザーのアクセス エクスペリエンスに影響を及ぼします。
要約すると、Nginx の limit_req_module モジュールは、アクセス頻度を制限して悪意のある攻撃を防ぐのに役立ちます。合理的な構成により、Web サイトのセキュリティが保護され、ユーザーのアクセス エクスペリエンスが向上します。この記事が皆さんのお役に立てれば幸いです!
以上がNginx は悪意のある攻撃を防ぐためにアクセス頻度の設定を制限しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Tomcat サーバーが外部ネットワークにアクセスできるようにするには、以下を行う必要があります。 外部接続を許可するように Tomcat 構成ファイルを変更します。 Tomcat サーバー ポートへのアクセスを許可するファイアウォール ルールを追加します。 Tomcat サーバーのパブリック IP を指すドメイン名を指す DNS レコードを作成します。オプション: リバース プロキシを使用して、セキュリティとパフォーマンスを向上させます。オプション: セキュリティを強化するために HTTPS を設定します。

ThinkPHP フレームワークをローカルで実行する手順: ThinkPHP フレームワークをローカル ディレクトリにダウンロードして解凍します。 ThinkPHP ルート ディレクトリを指す仮想ホスト (オプション) を作成します。データベース接続パラメータを構成します。 Webサーバーを起動します。 ThinkPHP アプリケーションを初期化します。 ThinkPHP アプリケーションの URL にアクセスして実行します。

「nginx へようこそ!」エラーを解決するには、仮想ホスト構成を確認し、仮想ホストを有効にし、Nginx をリロードする必要があります。仮想ホスト構成ファイルが見つからない場合は、デフォルト ページを作成して Nginx をリロードすると、エラー メッセージが表示されます。が消え、ウェブサイトは通常のショーになります。

HTML ファイルを URL に変換するには Web サーバーが必要です。これには次の手順が含まれます。 Web サーバーを取得します。 Webサーバーをセットアップします。 HTMLファイルをアップロードします。ドメイン名を作成します。リクエストをルーティングします。

Node.js プロジェクトのサーバー デプロイメント手順: デプロイメント環境を準備します。サーバー アクセスの取得、Node.js のインストール、Git リポジトリのセットアップ。アプリケーションをビルドする: npm run build を使用して、デプロイ可能なコードと依存関係を生成します。コードをサーバーにアップロードします: Git またはファイル転送プロトコル経由。依存関係をインストールする: サーバーに SSH で接続し、npm install を使用してアプリケーションの依存関係をインストールします。アプリケーションを開始します。node Index.js などのコマンドを使用してアプリケーションを開始するか、pm2 などのプロセス マネージャーを使用します。リバース プロキシの構成 (オプション): Nginx や Apache などのリバース プロキシを使用して、トラフィックをアプリケーションにルーティングします。

はい、Node.js には外部からアクセスできます。次の方法を使用できます。 Cloud Functions を使用して関数をデプロイし、一般にアクセスできるようにします。 Express フレームワークを使用してルートを作成し、エンドポイントを定義します。 Nginx を使用して、Node.js アプリケーションへのリバース プロキシ リクエストを実行します。 Docker コンテナを使用して Node.js アプリケーションを実行し、ポート マッピングを通じて公開します。

PHP Web サイトを正常に展開して維持するには、次の手順を実行する必要があります。 Web サーバー (Apache や Nginx など) を選択する PHP をインストールする データベースを作成して PHP に接続する コードをサーバーにアップロードする ドメイン名と DNS を設定する Web サイトのメンテナンスを監視する手順には、PHP および Web サーバーの更新、Web サイトのバックアップ、エラー ログの監視、コンテンツの更新が含まれます。

関数のオーバーロードに関する制限には、パラメーターの型と順序が異なっていなければならない (パラメーターの数が同じ場合)、およびデフォルトのパラメーターをオーバーロードの区別に使用できないことが含まれます。また、テンプレート関数と非テンプレート関数をオーバーロードすることはできません。また、テンプレート仕様が異なるテンプレート関数をオーバーロードすることもできます。関数のオーバーロードを過度に使用すると、可読性とデバッグに影響を与える可能性があることに注意してください。コンパイラは、最も具体的な関数から最も具体性の低い関数まで検索して競合を解決します。
