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

推薦する

DockerコンテナにRedisをデプロイする手順の紹介

目次1 つの Redis 設定ファイル2 Dockerコマンドの開始3 docker-compose...

Centos7 システムに k8s クラスターを展開するための詳細な紹介

目次1 バージョンと計画1.1 バージョン情報: 1.2 クラスター計画2. 展開1. ファイアウォ...

SpringBoot アプリケーションの Docker デプロイメントの実装手順

目次序文DockerファイルDockerfile とは何ですか? Dockerfile 構文Spri...

Zookeeperスタンドアロン環境とクラスタ環境の構築

1. 単一マシン環境の構築# 1.1 ダウンロードZookeeper の対応するバージョンをダウンロ...

CSSを使用してTDのINPUTの幅を設定する

最近、C# を使用して Web プログラムを作成していたときに、次のような問題が発生しました。 Te...

JavaScript PromiseとAsync/Awaitの詳細な説明

目次概要4つの例例1: 誕生日で説明する約束の基本例2: 数字当てゲーム例3: Web APIから国...

CSS で TikTok テキスト揺れエフェクトを実装する例

日々の開発において、フロントエンドの学生はアニメーションやデザインについてよく議論します。デザイナー...

Reactにおけるコンテキスト適用シナリオの分析

コンテキストの定義と目的コンテキストは、コンポーネント ツリーにプロパティを明示的に渡すことなく、コ...

CSS3 画像の境界線を学ぶのに役立つ記事

CSS3 border-image プロパティを使用すると、要素の周囲に画像の境界線を設定できます。...

Docker 構成 Alibaba Cloud イメージアクセラレーション プル実装

今日はdockerを使ってイメージをpullしたのですが、速度が悪くて見れず最後まで待ち続けました。...

MySQL でのフィルター条件なしのカウントの詳細な説明

カウント(*)成し遂げる1. MyISAM: テーブル内の行の総数をディスク上に保存し、フィルタリン...

DockerにRocketMQをインストールするための実装手順

目次1. 画像を取得する2. ブローカーサーバーを作成する3. ブローカーを作成する4. Rocke...

Reactにおける制御されたコンポーネントと制御されていないコンポーネントの簡単な分析

目次制御されていないコンポーネント制御コンポーネント知らせ結論は制御されていないコンポーネントフォー...

MySql ページングで limit+order by を使用する場合のデータ重複の解決策

目次まとめ問題の説明問題を分析する問題を解決するまとめ複雑な知識をシンプルに説明できることは重要です...

JavaScript クラス配列の詳細な理解

js 配列はどこでも使用されているため、おそらく誰もがよく知っているでしょうが、配列クラス (疑似配...