1. ディレクトリホワイトリストを設定する:指定されたリクエストパスに制限を設定しないでください。たとえば、apiディレクトリ以下のリクエストを制限しない場合は、次のように記述します。 サーバ{ 場所 /アプリ { プロキシパス http://192.168.1.111:8095/app; limit_conn 接続数 20; 制限レート 500k; limit_req ゾーン=foo バースト=5 ノードレイ; } 場所 /app/api { プロキシパス http://192.168.1.111:8095/app/api } } # nginx は正確なマッチングを優先するため、上記の書き方では api ディレクトリ以下のパスを制限します。 2. IPホワイトリストを設定するには、nginx geoとnginx mapを使用する必要があります。 手動で削除していない場合 (--without-http_geo_module または --without-http_map_module)、nginx はデフォルトで ngx-http-geo-module および ngx-http-map-module 関連コンテンツをロードします。 ngx-http-geo-module を使用すると、クライアントの IP アドレスに応じて値が異なる変数を作成できます。 ngx-http-map-module は、他の変数とその値に基づいて変数を作成できます。これにより、分類、つまり複数の変数を異なる値にマッピングして 1 つの変数に格納することができます。 Nginx geo フォーマット構文 (構文フォーマット): geo [$address] $variable { ... } デフォルト: - コンテンツ(構成セクション): http Nginx マップ形式の構文 (構文形式): map String $variable { ... } デフォルト:- コンテンツ(構成セクション): http ホワイトリストの設定例 http{ # ... その他の設定内容 # ホワイトリスト IP リスト変数 geo $whiteiplist を定義する { デフォルト 1 ; 127.0.0.1/32 0; 64.223.160.0/19 0; } #mapコマンドを使用して、ホワイトリスト内のクライアント要求IPを空の文字列map $whiteiplist $limit{にマップします。 1 $binary_remote_addr ; 0 ""; } #リクエスト制限コンテンツ limit_conn_zone を構成する $limit zone=conn:10m; limit_req_zone $limit zone=allips:10m レート=20r/s; サーバ{ 場所 /アプリケーション名 { プロキシパス http://192.168.1.111:8095/app; limit_conn 接続数 50; 制限レート 500k; limit_req ゾーン=allips バースト=5 ノードレイ; } } } ホワイトリスト設定を使用すると、協力顧客や検索エンジンなどからのリクエストをフィルタリングして制限できます(特別なケースの処理) #Post リクエストのみを制限するなど、指定したリクエストのみを制限する場合は、次のようにします。 http{ # その他のリクエスト # リクエストアドレスマップ map $request_method $limit { デフォルト ""; $binary_remote_addr を POST します。 } #制限の定義 limit_req_zone $limit zone=reqlimit:20m rate=10r/s; サーバ{ ... #通常の制限と同じ} } #これに基づいて、指定されたメソッドに対してホワイトリスト制限処理を実行する場合は、次のようにします。 http{ #... #ホワイトリストマップを定義する $whiteiplist $limitips{ 1 $バイナリリモートアドレス; 0 ""; } #ホワイトリストに基づいて、指定されたメソッドのリクエスト制限マップを定義します $request_method $limit { デフォルト ""; # $binary_remote_addr を POST します。 $limitips を POST します。 } #リクエストのlimit_req_zoneを参照 $limit zone=reqlimit:20m rate=10r/s; #サーバー内の参照サーバー{ #...通常の制限と同じ} } nginx でディレクトリ ホワイトリストと IP ホワイトリストを設定する上記の方法は、エディターがあなたと共有する内容のすべてです。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: mysql+mycat、負荷分散、マスタースレーブレプリケーション、読み取り/書き込み分離操作に基づく安定した高可用性クラスタを構築します。
Seurat は、単一細胞解析用の重量級の R パッケージです。使用したことがある人なら誰でも、その...
権限とデータベース設計ユーザー管理SQLyogを使用してユーザーを作成し、権限を付与する基本コマンド...
目次Redux Toolkitが解決する問題何が含まれていますか? Redux Toolkit AP...
1. 背景LDAP を使用して、操作および保守に関連するユーザー名とパスワードを集中管理します。 1...
目次1. 最も単純なサーバー側の例2. バインドシステムコール2.1、inet_bind 2.2、i...
ウェブ全体を検索して、さまざまな落とし穴を見つけましたが、問題は解決しませんでした。ついに自分でも分...
目次序文1. Nginx+Tomcat 2. Nginxサーバーを構成する3. Tomcatアプリケ...
1.タイムアウトを設定する3 秒後に abc を印刷します。一度だけ実行します。 setTimeou...
目次1. MySQLをダウンロードする2. MySQLをインストールする3. MySQL の基本的な...
このブログでは、MySQL データベースをインストールした後に調整することが推奨される 10 のパフ...
ビジネスシナリオの要件と実装ロジックの分析ビジネスでは、HTTP GET を使用してデータを要求する...
この記事ではMySQL 5.7.20のインストールと設定方法を記録し、皆さんと共有します1. MyS...
1. ハイパーリンクアイコンの仕様とは?<br />ハイパーリンクアイコンの仕様は、「C...
問題の説明 (環境: windows7、MySql8.0)今日、MySql をインストールした後、M...
インターネットに接続できない仮想マシンをセットアップするのは非常に面倒です。ここでは、Ubuntu ...