$remote_addr に基づく nginx フロントエンド配布方法の詳細な説明

$remote_addr に基づく nginx フロントエンド配布方法の詳細な説明

要件は次のとおりです。

ドメイン名の下に複数のサーバーがあります。現在、特定の地域をテストしています。特定の地域の IP ユーザーが 1 つのサーバーにのみアクセスできるようにし、個別にテストします。問題がなければ、すべてのサーバーが更新されます。問題がある場合、影響は小さくなります。時間内に問題を見つけて解決します。

解決:

nginx モジュールを使用して、フロントエンドの負荷分散転送マシンで一致ルールを構成します。

nginx設定vhostで、ドメイン名の下のlocationセクションにコードを追加します。

$remote_addr が IP と一致する場合は、それを abc_test_server に転送します。

サーバー{
  聞く 80;
  サーバー名 abc.com.cn;
  アクセスログ /dev/null;
  エラーログ /data/logs/error.log;
  
  位置 / {

  proxy_set_header ホスト $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      ($remote_addr ~ "202.96.134.100") の場合 
       {
           proxy_pass http://abc_test_server;
            壊す;
        }
  proxy_pass http://abc_server;
  }
}

負荷分散設定ではセクションを追加する必要がある

#abc_testのみ
アップストリーム abc_test_server {
  サーバー 192.168.20.10:80;
  
}

#abc.com.cn
アップストリーム abc_server {
  サーバー 192.168.20.11:80;
  サーバー 192.168.20.12:80;
  サーバー 192.168.20.13:80;
}

設定された IP はテスト用にバックエンド サーバー 192.168.20.10 に直接配布されます。

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

以下もご興味があるかもしれません:
  • フロントエンドに必要なNginx設定の詳細な説明
  • Nginx を使用してフロントエンドのクロスドメイン問題を解決する方法
  • フロントエンド開発のための Nginx 構成 (シナリオ)
  • nginx で複数のフロントエンド プロジェクトをデプロイするいくつかの方法
  • Nginx がフロントエンド リソースへのクロスドメイン アクセスの問題をどのように解決するかの詳細な説明
  • フロントエンドでnginxが何ができるかの詳細な説明

<<:  MySQL Server 8.0.13.0 インストールチュートリアル(画像とテキスト付き)

>>:  Vueナンバープレート入力コンポーネントの使い方の詳しい説明

推薦する

MySQL 全体または単一のテーブルデータのエクスポート

単一のテーブルをエクスポートするmysqldump -u ユーザー -p db名 テーブル名 >...

Vue ElementUI で Excel ファイルを手動でサーバーにアップロードする方法の詳細な説明

目次概要プロパティ設定処理ロジック概要具体的な需要シナリオは次のとおりです。 Excel ファイルを...

VMware マルチノード環境を構成する方法

このチュートリアルでは CentOS 7 64 ビットを使用します。各仮想マシンに 2GB のメモリ...

Reactでaxiosを使用してリクエストを送信する一般的な方法

目次Reactにaxios依存関係をインストールして導入するGETリクエストにaxiosを使用するa...

MySQL 外部キー設定方法の例

1. 外部キーの設定方法1. MySQL では、2 つのテーブルを関連付けるために、外部キー (FO...

mysqldump を使用して MySQL データをバックアップする方法

1. mysqldump の紹介mysqldump は、MySQL に付属する論理バックアップ ツー...

UbuntuへのDocker CEのインストール

この記事は、Ubuntu 17.10 での Docker CE のインストールを記録するために使用さ...

HTML onfocus gain focus および onblur lose focus イベントの詳細な説明

HTML onfocus イベント属性定義と使用法onfocus 属性は、要素がフォーカスを受け取っ...

JavaScriptはオブジェクトの不要なプロパティを削除します

目次例方法1: 削除方法2: 分解補充する要約するThinking シリーズは、10 分で実用的なプ...

初心者向けBootstrap 3.0学習ノート

この学習ノートの最初の記事として、シリーズの他の記事と同様に、Bootstrap の紹介から始め、そ...

CSS3はシームレスなスクロールと手ぶれ防止を実現します

質問画像とテキストのシームレスなスクロールは、一般的に携帯電話では良い効果をもたらしますが、一部のモ...

vsftpdで仮想ユーザーログインを設定する方法

yum で vsftpd をインストールします [root@localhost など]# yum -...

CSSは背景画像の画面適応を実現する

ログインページなどのホームページを作成する場合、大きな背景画像を配置する必要があり、さまざまな画面の...

Vue3 でマークダウン エディター コンポーネントを使用する方法

目次インストールコンポーネントのインポート基本的な使い方保存したマークダウンまたは HTML テキス...