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ソリューション

推薦する

React.cloneElement の使い方の詳しい説明

目次cloneElementの役割使用シナリオ新しい小道具を追加するプロップを変更するイベントカスタ...

あまり多くのコードを書かずに、ハイパーリンクを使ってシンプルで美しいカスタムチェックボックスを実装できます。

今日ふと、HTML でチェックボックスのスタイルを変更できる範囲が限られていることと、チェックボック...

mysql8.0.11 winx64 インストールと設定のチュートリアル

mysql 8.0.11 winx64のインストールチュートリアルは以下のように記録され、みんなと共...

HTML におけるスクリプトの配置に関する簡単な説明

以前は、スクリプトは HTML 内のどこにでも配置できると思っていましたが、今日、要件に取り組んでい...

MYSQL から MARIADB へのプロジェクト移行に関するチュートリアル

データベース (MySQL) を準備します。すでに MySQL をお持ちの場合は、これを無視できます...

SSH経由でローカルLinux仮想マシンに接続するプロセスを記録する

実験環境:物理マシン Windows 10 x64物理NIC情報IPv4 アドレス: 192.168...

適応レイアウトの処理について(フロートとマージンネガティブマージンを使用)

適応型レイアウトは、実際のアプリケーションでますます一般的になっています。今日は、主にフローティング...

nginx リバース プロキシの魔法のスラッシュについての簡単な説明

nginx リバース プロキシを設定する場合、location と proxy_pass のスラッシ...

純粋なテキストとアイコン付きのボタンを実現するための HTML+CSS

この記事では、いくつかの基本的なページ要素の実装方法をまとめており、後で更新される予定です。まず、私...

今日は、珍しいけれど役に立つJSテクニックをいくつか紹介します

1. 戻るボタンhistory.back() を使用してブラウザの「戻る」ボタンを作成します。 &l...

Office ファイルのオンライン プレビュー用の Vue サンプル コード

最近、電子アーカイブに取り組んでおり、バックエンドではファイルの Huawei Cloud OSS ...

DockerコンテナのIPアドレスを表示する方法

私はずっとDockerにはIPアドレスがないと思っていました。実はDockerのネットワークテンプレ...

Nginx+Tomcat 負荷分散クラスタのインストールと構成のケースの詳細な説明

目次序文1. Nginx+Tomcat 2. Nginxサーバーを構成する3. Tomcatアプリケ...

Ubuntu 18.04 Linux システムに JDK と Mysql をインストールする方法

プラットフォームの展開1. JDKをインストールするステップ1. OracleJDKをダウンロードす...

HTML+CSS でハートビートの特殊効果を作成する

今日は、シンプルなハートビート効果を作成します。多くのコードは必要ありません。ボックスを追加し、CS...