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

推薦する

HTML ページでギリシャ文字を使用する方法

ギリシャ文字は、特に数学や物理学などの科学技術分野で非常によく使用される記号列であり、特定の意味を持...

WeChatアプレットにナンバープレート入力機能を実装

目次序文背景大きな推測パターンを見つける構造とスタイルコンポーネントの実装パラメータキーボードの種類...

Linuxカーネルの浮動小数点演算のサポートに関する簡単な説明

現在、ほとんどの CPU は浮動小数点ユニット (FPU) をサポートしています。FPU は、プロセ...

HTML 基本構造_Powernode Java アカデミー

多くの場合、Web ページ開発を学ぶときに最初に印象に残るのは、html または htm サフィック...

mysql-8.0.15-winx64 解凍バージョンのインストールチュートリアルと終了する 3 つの方法

1.公式サイトからダウンロードして解凍する参考: 2. 環境変数を設定するMYSQL_HOMEをMy...

シェルスクリプトによるDockerコンテナの起動順序の制御の詳細な説明

1. 遭遇した問題分散プロジェクトの展開プロセスでは、サーバーの再起動後にアプリケーション(データベ...

MySQL マスタースレーブ遅延問題の解決方法

今日は、マスタースレーブ遅延が発生する理由とその対処方法について説明します。しっかり座って出発の準備...

JSはマップを使用してdouble配列を統合します

目次序文データのシミュレーション結合されたデータ合併のアイデアコードの表示と分析最初のステップステッ...

Dockerイメージの作成Dockerfileとコミット操作

イメージを構築するイメージを構築するには、主に 2 つの方法があります。実行中のコンテナをイメージに...

Mysql5.6.36 スクリプトのコンパイル、インストール、初期化のチュートリアル

概要この記事は、centos7.3 上で mysql5.3.6 を自動的にコンパイルしてインストール...

Linux 上での MySQL データベースのリモート展開の詳細な手順

LinuxリモートMySQLデータベースの展開、参考までに、具体的な内容は次のとおりです。 1.0 ...

CentOS8 jdk8 / java8 のインストールチュートリアル(推奨)

序文最初はCentOS8でwgetを使ってダウンロードし、解凍して環境変数を設定するつもりだったので...

Tomcat が https アクセスをサポートするための手順の説明

tomcat を https アクセスに対応させる方法ステップ: (1)キーストアファイルを生成する...

MYSQL ローカルインストールと問題解決

序文この記事はかなり詳細で、少し面倒です。他のチュートリアル ドキュメントでは多くの手順が省略されて...

ページスピードの最適化の概要

インターネットは人々の生活にますます欠かせないものになってきていると思います。 Ajax や fle...