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データ変換方法(必読)

推薦する

KTLツールはMySQLからMySQLへのデータの同期方法を実現します

ktl ツールを使用して、mysql から mysql にデータを同期します。 1. 新しいジョブス...

jQuery プロジェクトで重複送信を防ぐ方法

新しいプロジェクトでは、axios によって重複した送信を防ぐことができますが、古いプロジェクト (...

Linux sftp コマンドの使用法

SFTPの概念sftp は、安全なファイル転送プロトコルである Secure File Transf...

Visual Studio Codeを使用してMySqlデータベースに接続し、クエリを実行します。

Visual Studio Code は、Microsoft が開発した強力なテキスト エディター...

CentOS 6.5 インストール mysql5.7 チュートリアル

1. 新機能MySQL 5.7 はエキサイティングなマイルストーンです。デフォルトの InnoDB ...

MySQL クエリのソートとクエリ集計関数の使用法の分析

この記事では、例を使用して、MySQL クエリのソート関数とクエリ集計関数の使用方法を説明します。ご...

jsはブラウザを閉じるときにアカウントのログアウトを処理します

目次古典的なアプローチ質問その他の質問注意が必要な問題古典的なアプローチご存知のとおり、アカウントの...

MySQL json 形式のデータクエリ操作

デフォルトのテーブル名はbase_dataで、json列名はjson_valueです。 json_v...

テーブルセルの幅tdの設定は無効であり、内部コンテンツによって常に引き伸ばされます

テーブルページを作成するときに、td に設定された幅が無効になることがあります。td の幅は常に内部...

Javascript と Vue を組み合わせて、あらゆる迷路画像の自動パス検索を実現します。

目次序文2次元配列、一方向基本インターフェースのマッピング幅優先、包括的検索マップ編集経路探索アルゴ...

Vueの子コンポーネントが親コンポーネントのメソッドを呼び出す場合の詳細な説明

1. 子コンポーネントのthis.$parent.eventを通じて親コンポーネントメソッドを直接呼...

Linux システムが VMware にインストールされているかどうかを確認する方法

現在の Linux システムが VMware にインストールされているかどうかを確認する方法を教えて...

シンプルなウェブページレイアウトの構造と表現原理の共有

構造とパフォーマンスの紹介HTML 構造、CSS 表現、JavaScript 動作。Web ページの...

JavaScript オブジェクトを比較する 4 つの方法

目次序文参考比較手動比較浅い比較徹底比較要約する序文JavaScript でプリミティブ値を比較する...

React Native スキャフォールディングの基本的な使い方の詳細な説明

プロジェクトを構築する対応するパスでコマンドラインを実行します: react-native init...