Nginx リバース プロキシでは、ACL (アクセス コントロール リスト) は、さまざまな IP アドレスやリクエスト元のアクセス権を制御するために使用される非常に実用的な機能です。異なるプロキシ IP を区別する必要がある状況では、プロキシ IP に基づいた ACL 設定が必要な操作になります。
以下では、プロキシ IP に基づく ACL 構成の具体的な実装を紹介します。
プロキシ IP に基づいて ACL を設定する前に、まず、制御する必要があるプロキシ IP を決定する必要があります。 2 つの共通制御オブジェクトがあり、1 つは異なるエージェントの IP アドレスであり、もう 1 つは同じエージェントの異なる IP アドレスです。
最初のケースでは、Nginx の access.log ログ ファイルを表示するか、他のツールを通じてプロキシ IP 情報を取得し、さまざまなプロキシ IP に対して ACL を構成できます。 2 番目のケースでは、場合によってはプロキシ IP が変更される可能性があるため、ACL 設定でこの問題を考慮する必要があることに注意してください。
設定する必要があるプロキシ IP を確認したら、次のステップは実際の ACL 設定を実行することです。具体的な手順は次のとおりです:
Nginx 構成ファイルで変数を定義して、プロキシ IP 情報を保存します。この変数では、正規表現を使用して、フィルタリングする必要があるプロキシ IP アドレスと一致させることができます。
たとえば、次の例では、$proxy_ip という名前の変数を定義して、フィルタリングする必要があるプロキシ IP アドレスを保存します。
http { ... # 定义代理IP变量 geo $proxy_ip { default ""; 10.0.0.1/24 1; 10.1.0.1/24 1; ... } ... }
上の例では、 geo ディレクティブを使用します。 $proxy_ip 変数を定義し、デフォルト値default ""を使用します。次に、IP/マスク形式でフィルタリングする必要があるプロキシ IP アドレスの重み値 1 を設定します。プロキシ IP アドレスがこの変数と一致すると、重み値に従ってフィルタリングされます。
プロキシ IP 変数を定義したら、次のステップは ACL 設定を追加することです。 ACL 設定は、if ディレクティブを使用して定義できます。例:
http { ... # 添加ACL配置 if ($proxy_ip) { return 403; } ... }
上の例では、if ディレクティブを使用して $proxy_ip 変数が存在するかどうかを判断しました。存在する場合は、403 ステータス コードが返されます。必要に応じて、対応する処理操作を実行することもできます。
プロキシ IP に基づいて ACL を設定する場合は、次の点に注意する必要があります:
一般に、プロキシ IP に基づく ACL 構成は、Nginx リバース プロキシのセキュリティと安定性を効果的に向上できる非常に実用的な機能です。上記の注意点にさえ気をつければ、ACL設定機能は簡単に実装できます。
以上がNginx リバース プロキシのプロキシ IP に基づく ACL 設定の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。