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

推薦する

CSS スタイルの導入方法とその長所と短所の紹介

CSSを導入する3つの方法1. インラインスタイル利点: 書きやすく、重みがある 欠点: 構造とスタ...

CentOS 7 に MySQL 8 をインストールするための詳細なチュートリアル

準備するこの記事の環境情報: ソフトウェアバージョンセントOSセントOS7.4マイグレーション8.0...

Webpackを使用して複数ページのプログラムを構築するための実装手順

webpack を使用してシングルページのプログラムを構築することは非常に一般的ですが、実際の開発で...

スライドによるページめくり効果とクリックイベント問題をモバイル端末上で実装する

前述のこの記事はとても短いです〜主な目的は、モバイル端末上のクリックと js イベントのメカニズムに...

CentOS8 でローカル yum ソースを構成するための詳細なチュートリアル

centos8 ディストリビューションは、BaseOS および AppStream リポジトリを通じ...

タブ効果を実現する js 開発プラグイン

この記事の例では、タブ効果を実現するためのjsプラグインの具体的なコードを参考までに共有しています。...

nginx+php-fpm サービスの HTTP ステータス コード 502 の詳細な分析

弊社の Web プロジェクトの 1 つでは、新しい都市の増加によりトラフィックと DB 負荷が増加し...

マテリアルデザインで水滴アニメーションボタンを実現するための純粋なCSS

序文こういう特殊効果ってよく見かけますよね。すごくかっこいいですよね。 これは、Google Mat...

React スキャフォールディングの構築方法を学ぶ

1. フロントエンドエンジニアリングの複雑さいくつかの小さなデモ プログラムを開発するだけであれば、...

Baidu の https 認証プロンプト「http サイトを 301 から https サイトにリダイレクトしてください」の解決方法の詳細な説明

最近、ウェブサイトを https アクセスに変換したいのですが、すべて完了した後、Baidu Web...

GoogleとFacebookがDockerを使わない理由

この記事を書いた理由は、修正した分散 PyTorch プログラムを Facebook のクラスター上...

MySQL における count(*)、count(1)、count(col) の違いのまとめ

序文count 関数は、テーブルまたは配列内のレコードをカウントするために使用されます。count(...

Linux ps および pstree コマンドの知識ポイントのまとめ

Linux の ps コマンドは Process Status の略です。 ps コマンドは、システ...

Vueはシンプルな計算機能を実装します

この記事では、参考までに、Vue の具体的なコードで簡単な計算機を実装する方法を紹介します。具体的な...

dig/nslookup コマンドを使用して DNS 解決手順を表示する方法

dig - DNS ルックアップ ユーティリティドメイン名のアクセス障害が発生した場合、ドメイン名の...