DDoS 攻撃は、大規模な Web サイトにアクセスするときによく発生する問題で、何者かがプログラムを通じてサイトの特定のページを悪意を持ってブラッシングし、サイトの応答を遅らせたり、直接サービスを拒否したりすることを指します。
この状況は、nginx のアクセス ログを分析することでわかります。同じ IP または user_agent を持つリクエストが多数存在します。これらのアクセス リクエストは、類似性に基づいて nginx レベルで直接フィルタリングできます。リクエスト。
ip によるアクセスの制限
nginx のアクセス制御モジュールの関連ドキュメント
アクセス制御は、deny 命令によってアクセスを拒否したり、アクセスを許可したりできます。許可命令を通じて。
拒否ルールと許可ルールが複数ある場合、該当ルールに一致した場合に飛び出します。
固定 IP を拒否します
deny 192.168.1.12;
IP ネットワーク セグメントを拒否します
deny 192.168.1.0/24;
イントラネット アクセスのみを許可します
allow 192.168.1.0/24; deny all;
user_agent によるアクセスの制限
nginx には、user_agent に対する特定の制限命令がありません。user_agent には、nginx の $http_user_agent 変数を通じてアクセスできます。if 命令を使用して、 control user_agent. 通常のマッチングでは、一致したルールについてはアクセスを拒否するだけです。
nginx の if 命令は、書き換えモジュールで詳しく紹介されています
user_agent
if ($http_user_agent ~ "^apache.*java"){ return 403; }
以上がNginx サーバーが IP と user_gent によってアクセスを制限する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。