Detailed explanation of nginx front-end distribution method based on $remote_addr

Detailed explanation of nginx front-end distribution method based on $remote_addr

The requirements are as follows:

There are multiple servers under the domain name. Now we are testing a certain region. Let the IP users in a certain region access only one server and test it separately. If there is no problem, all servers will be updated. If there is a problem, the impact will be small. We will find and solve the problem in time.

Solution:

Use the nginx module to configure matching rules on the front-end load balancing forwarding machine;

In the nginx configuration vhost, add a piece of code to the location section under the domain name

If $remote_addr matches the ip, forward it to abc_test_server;

server {
  listen 80;
  server_name abc.com.cn;
  access_log /dev/null;
  error_log /data/logs/error.log;
  
  location / {

  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      if ($remote_addr ~ "202.96.134.100") 
       {
           proxy_pass http://abc_test_server;
            break;
        }
  proxy_pass http://abc_server;
  }
}

The load balancing configuration also needs to add a section

#abc_test only
upstream abc_test_server {
  server 192.168.20.10:80;
  
}

#abc.com.cn
upstream abc_server {
  server 192.168.20.11:80;
  server 192.168.20.12:80;
  server 192.168.20.13:80;
}

The set IP will be directly distributed to the backend server 192.168.20.10 for testing;

The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM.

You may also be interested in:
  • Detailed explanation of Nginx configuration required for front-end
  • How to use Nginx to solve front-end cross-domain problems
  • Nginx configuration for front-end development (scenario)
  • Several methods of deploying multiple front-end projects with nginx
  • Detailed explanation of how Nginx solves the problem of cross-domain access to front-end resources
  • Detailed explanation of what nginx can do on the front end

<<:  Node+express to achieve paging effect

>>:  MySQL Server 8.0.13.0 Installation Tutorial with Pictures and Text

Recommend

Calendar effect based on jQuery

This article example shares the specific code of ...

Detailed explanation of the four transaction isolation levels in MySQL

The test environment of this experiment: Windows ...

What is Software 404 and 404 Error and what is the difference between them

First of all, what is 404 and soft 404? 404: Simpl...

How to create a swap partition file in Linux

Introduction to Swap Swap (i.e. swap partition) i...

MySQL database master-slave configuration tutorial under Windows

The detailed process of configuring the MySQL dat...

MySQL 8.0.23 installation super detailed tutorial

Table of contents Preface 1. Download MySQL from ...

Json advantages and disadvantages and usage introduction

Table of contents 1. What is JSON 1.1 Array liter...

js to make a simple calculator

This article shares the specific code of making a...

How to solve the problem of clicking tomcat9.exe crashing

A reader contacted me and asked why there were pr...

Example analysis of the page splitting principle of MySQL clustered index

This article uses an example to illustrate the pa...

HTML table tag tutorial (17): table title vertical alignment attribute VALIGN

The table caption can be placed above or below th...

Example of implementing text wrapping in html (mixed text and images in html)

1. Text around the image If we use the normal one...