Nginxのアクセス制限設定の詳細な説明

Nginxのアクセス制限設定の詳細な説明

Nginxのアクセス制限設定とは

Nginx のアクセス制限は、IP ベースのアクセス制御とユーザーベースの信頼できるログイン制御の 2 つの側面に基づいています。

以下では、これら2つの方法を1つずつ紹介します。

IP ベースのアクセス制御の概要:

IPベースのアクセス制御を設定して、特定のIPにアクセスを許可したり、アクセスできないIPを制限したりできます。

これはアクセスを許可する設定方法です

設定構文: allow address | CIDR | unix | all;

デフォルト設定: 設定なし

構成パス: http、server、location、limit_except;

これはアクセスを許可しない構成です

メソッド設定構文: deny address | CIDR | unix | all;

デフォルト設定: 設定なし

構成パス: http、server、location、limit_except;

IPアクセス制限に基づくテスト

1. ローカル IP アドレスを確認します。パブリック ネットワークの場合は、ip138 ネットワークに移動して確認します。テストの場合は、cmd を使用して確認します。

2. /opt/app/code/ディレクトリにadmin.htmlファイルを追加します。このファイルには、背景色付きの通常の管理ページが含まれています。

3. /etc/nginx/conf.d/ディレクトリで、default.confファイルを変更し、次の内容を追加します。


上図からわかるように、admin.html に合わせて場所が追加され、IP 制限に基づく設定が設定され、192.xx.xx.xx からのアクセスが制限され、他のユーザからのアクセスが可能になります。

4. nginxをリロードする

5. ブラウザにURLを入力してログを確認する



6. 上の図から、特定の IP のアクセス制限が実現されていることがわかります。特定の IP のみにアクセスを許可する場合は、キーワードを変更するだけで済みます。

例:

1. サーバーのグローバルIP制限

#vi nginx.conf
  allow 10.115.0.116; #許可されたIP
  すべてを否定する;

2. サイト制限IP

#vi vhosts.conf
サイトグローバル限定IP:
位置 / {
  インデックス index.html index.htm index.php;
  10.115.0.116 を許可します。
  すべてを否定する;

サイトディレクトリの制限

場所 ^~ /test/ {
  10.115.0.116 を許可します。
  すべてを否定する;

ログインしたユーザーの信頼に基づくアクセス制御

たとえば、Apache 情報にアクセスすると、アクセス前の検証を実行するためにユーザー パスワード ボックスのプロンプトがポップアップ表示されます。

設定構文: auth_basic string | off;

デフォルト設定: auth_basic オフ;

構成パス: http、server、location、limit_except;

構成構文と一致します: auth_basic_user_file filePath;

デフォルト設定に一致: 設定なし

構成パスを一致させます: http、server、location、limit_except;

1. アイデンティティファイル、auth_confファイルを追加する必要があります。ここではhtpasswdツールを使用します。

コマンド htpasswd -c ./auth_conf root を使用します。

説明: htpasswd コマンド -c: デフォルトでは MD5 暗号化が使用され、./auth_conf は指定されたパスとファイル、root はユーザー名です

入力後、パスワードを2回入力するよう求められます。


2. default.conf設定ファイルを修正し、内容を次のように変更します。


3. nginxをリロードする

4. URL を入力して結果を確認します。アクセスするには ID 情報を入力する必要があることがわかります。


以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • マルチポートおよびマルチドメイン名アクセスのNginx構成の実装
  • nginx での tp5 の設定アクセスを変更する問題を解決する
  • 同じ IP のアクセス頻度を制限するように nginx を設定する方法
  • nginx ssl を設定して https アクセスを実装する手順 (初心者向け)
  • 異なるドメイン名への PC または携帯電話のアクセスを区別するように Nginx を構成する方法
  • SSL モジュール構成を使用して HTTPS アクセスをサポートする nginx の詳細な説明
  • nginx を使用して wgcloud へのアクセスを構成する方法

<<:  vue-router を遅延ロードする 3 つの方法のまとめ

>>:  MySQL NULLデータ変換方法(必読)

推薦する

MySQL DDL による同期遅延を解決する方法

目次序文解決ツールの紹介仕組み使用制限使用上の注意使用例いくつかのパラメータの説明出力例Tencen...

MySqlデータベースの基礎知識のまとめ

目次基本的なデータベース操作2) データベースを表示する3) データベースを選択する4) データベー...

ウェブ計算機を実装するためのjs

HTML、CSS、JS を使用してシンプルな Web 計算機を作成する方法は?コンピュータには次の...

Linux カーネル デバイス ドライバー カーネル デバッグ テクニカル ノート集

/****************** * カーネルデバッグ技術 ****************...

MySQL が大規模トランザクションを避けるべき理由とその解決方法

何が大問題ですか?長時間実行され、長時間コミットされないトランザクションは、大規模トランザクションと...

MySQLトランザクションとMySQLログの詳細な説明

取引特性1. アトミック性: トランザクションの開始後、すべての操作が完了するか、まったく実行されな...

MySQLテーブルシャーディングとパーティショニングの具体的な実装方法

縦型テーブル垂直テーブル分割とは、多数の列を持つテーブルを複数のテーブルに分割することを意味します。...

虫眼鏡コンポーネントのネイティブ js 実装

この記事の例では、参考までに虫眼鏡コンポーネントを開発するためのjsの具体的なコードを共有しています...

VantフレームワークをWeChatアプレットに導入するプロセス全体の記録

序文WeChat ミニプログラムのネイティブ UI が少し物足りないと感じることがあるので、サードパ...

show processlist コマンドによる MySQL パフォーマンス検査の説明

show processlist コマンドは非常に便利です。MySQL の実行が 50% 以上になる...

MySQL インデックスクエリ最適化スキルを習得するための記事

序文この記事では、DBA がいないチームが参考にできるように、MySQL の一般的な使用に関するヒン...

MySQLデータベースのマスタースレーブレプリケーションの原理と機能の分析

目次1. データベースのマスター/スレーブ分類: 2. MySQL マスタースレーブの紹介3. マス...

MySQL 5.6 から 5.7 にアップグレードする際のマスター スレーブ遅延問題のトラブルシューティング

最近、Zabbix データベースを MySQL 5.6 から 5.7 にアップグレードしたときに、マ...

Node.js で簡単なクローラーケースを作成するチュートリアル

準備まず、nodejs をダウンロードする必要がありますが、これは問題ないはずです。原文はwebst...

MySQL学習データベース検索文DQL小百章

目次1. データの簡単な取得2. データの並べ替えと取得2.1. 基本構文2.2. ソート方向を指定...