geo モジュールを使用して Nginx でホワイトリストを設定する例

geo モジュールを使用して Nginx でホワイトリストを設定する例

元の構成:

http {
......
limit_conn_zone $binary_remote_addr ゾーン=1:10m;
limit_req_zone $binary_remote_addr ゾーン=fifa:10m レート=5r/s;
......
サーバー{
......
limit_conn 1 5;
limit_req ゾーン=fifa バースト=100;
......
}}

ホワイトリストの設定:

http {
......
ジオ$ホワイトiplist {
 デフォルト 1;
 127.0.0.1 0;
 10.10.0.0/24 0;
}
$whiteiplist $limitをマップする{
 1 $バイナリリモートアドレス;
 0 "";
}
limit_conn_zone $制限ゾーン=1:10m;
limit_req_zone $limit zone=fifa:10m rate=5r/s;
......
サーバー{
......
limit_conn 1 5;
limit_req ゾーン=fifa バースト=100;
......
}}

例:

geo ディレクティブはホワイトリスト $whiteiplist を定義します。デフォルト値は 1 で、すべてが制限されます。 クライアント IP がホワイトリストに記載されている IP と一致する場合、$whiteiplist の値は 0 となり、制限がないことを意味します。

マップ命令は、$whiteiplist 値を 1、つまり制限された IP にクライアント IP にマップします。 $whiteiplist 値 0、つまりホワイトリスト IP を空の文字列にマップします。

空のキーを持つ Limit_conn_zone および limit_req_zone ディレクティブは無視されるため、リストされた IP に制限はありません。

私が皆さんにお伝えしたいのは、geo モジュールを介して Nginx がホワイトリストを設定する上記の例だけです。これが皆さんの参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • nginx でディレクトリ ホワイトリストと IP ホワイトリストを設定する方法
  • nginx にアクセスホワイトリストを動的に追加する方法
  • Nginxサーバーのブラックリストまたはホワイトリスト機能を備えたファイアウォールを構成する
  • nginx-naxsi ホワイトリストルールの詳細な説明

<<:  JS でシンプルな画像カルーセル効果を実現

>>:  大規模なデータテーブルのコピー効率を向上させるMySQLソリューション

推薦する

MySQLメモリストレージエンジンに関する知識

メモリストレージエンジンに関する知識ポイントメモリ ストレージ エンジンは日常業務ではほとんど使用さ...

Vueタイムラインコンポーネントの使い方

この記事の例では、参考までにvueタイムラインコンポーネントの具体的な実装コードを共有しています。具...

CSS3+JavaScript を使用したクールな呼吸効果のサンプル コード

CSS3 アニメーションで実現したシンプルでクールな効果。最終的な効果は次のようになります。 ページ...

Nginx でバージョン番号と Web ページのキャッシュ時間を非表示にする方法

Nginx の最適化 - バージョン番号と Web ページのキャッシュ時間を非表示にするバージョン番...

テキストの円形スクロールアニメーションを実装するミニプログラム

この記事では、参考までに、テキストループスクロールを実現するアプレットの具体的なコードを例を挙げて紹...

CSSを使用してファイルアップロードパターンを描画する

以下に示すように、あなたならどのようにそれを達成しますか: 通常、フォントアイコンを使用して中央にプ...

Vue での bimface の使用に関する詳細

目次1. Vue スキャフォールディングをインストールする2. プロジェクトを作成する3.1 プロジ...

js の hasOwnProperty のプロパティとインスタンスの使用法の詳細な説明

1. js は hasOwnProperty が不正に占有されることから保護しません。オブジェクトに...

MySQL 8.0.12 のインストールと設定のグラフィックチュートリアル

MySQL 8.0.12 のダウンロードとインストールのチュートリアルを録画し、全員と共有しました。...

Ubuntu 18.04 で apt-get ソースを変更する方法

apt-get を使用してインストールすると、非常に遅くなります。国内のソースを変更すると、この問題...

Reactマウスの複数選択機能の設定方法

一般的に、リストには選択機能があり、単一選択、二重選択、複数選択が非常に一般的です。カスタム ループ...

MySQLデータベースホスト127.0.0.1とlocalhostの違い

私の友人の多くは、127.0.0.1 と localhost の違いがわからず、問題に遭遇するかもし...

MySQL 8.0 が起動できない 3534 の解決策

MySQL 8.0 サービスを開始できません最近、 cmdで MySQL サービスを起動するときに遭...

MySQL 8の新機能ROLEの詳しい説明

MySQL ROLE はどのような問題を解決しますか?プロフェッショナルな資質を持ち、権限管理に細心...

Docker に nginx をインストールし、https 経由でアクセスを構成する方法

1. 最新のnginx dockerイメージをダウンロードする $ docker pull ngin...