$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ナンバープレート入力コンポーネントの使い方の詳しい説明

推薦する

Ubuntu 16.04 64ビット版を3つのステップで32ビットプログラムと互換性を持たせる

ステップ1: システムのアーキテクチャを確認する dpkg --print-architecture...

Vue 開発ガイドの重要な知識の要約

目次概要0. JavaScriptとWeb開発の基礎1. Vueの基本概念Vue コア機能コンポーネ...

MySQL ユーザー変数と set ステートメントの例の詳細な説明

目次1 ユーザー変数の概要2 ユーザー変数の定義3 ユーザー変数の使用3.1 セットを通した例3.2...

Tomcat のインストール後に起こりうる問題の紹介

1. Tomcatサービスが開いていませんブラウザのアドレスバーにlocalhost:8080と入力...

nginxワーカープロセスループの実装

ワーカープロセスは、起動されると、まず自身の動作に必要な環境を初期化し、次に実行する必要があるイベン...

tomcatでcatalina.outログをカットする3つの方法の詳細な説明

1. ログセグメンテーションのためのLog4j 1) log4j-1.2.17.jar、tomcat...

jsでの位置計算を徹底的に理解するのに役立つ記事

目次導入スクロール要素.スクロール()要素.scrollHeight/scrollWidth要素.s...

怖いハロウィーン Linux コマンド

ハロウィーンではありませんが、Linux の不気味な側面に注目する価値はあります。幽霊、魔女、ゾンビ...

フロントエンド HTML+CSS+JS を使用してシンプルな TODOLIST 関数を開発する (メモ帳)

目次1. 簡単な紹介2. スクリーンショットを実行する3. コードの紹介4. まとめ1. 簡単な紹介...

CentOSにPHP+Apache+MySQLのサーバー環境をインストールして構築する

Yum (フルネームは Yellow dog Updater, Modified) は、Fedora...

VMware仮想マシンでのLinuxのコピー&ペーストの詳細な説明

1. VMware Workstation 上の Linux: 1. ソースの更新(オプション) v...

Linux におけるドライバモジュールのパラメータ転送プロセスの分析

ドライバーモジュールに渡すパラメータ名、タイプ、権限を宣言します。 module_param(変数名...

MySQLマスタースレーブデータベース構築方法の詳細な説明

この記事では、MySQL マスター/スレーブ データベースの構築方法について説明します。ご参考までに...

MySQL データ アーカイブ ツール mysql_archiver の詳細な説明

目次I. 概要2. pt-archiverの主なパラメータ3. mysql_archiverのインス...

Gitコミットログの変更方法のまとめ

ケース1: 最後の提出とプッシュなし次のコマンドを実行します。 git コミット --amend g...